Hercules Android Remote Proof of Concept

Register
Submit a solution
The challenge is finished.

Challenge Overview

Description

This challenge will implement a simple proof of concept that will implement an app for Android that can pair with another Bluetooth device and send keyboard presses as a normal HID (Human Interface Device).
Basically, it will turn an Android phone into a standard Bluetooth keyboard for a computer.

Keyboard mappings

Attached in the forum is a list of the keyboard keys we want to support sending in the app.  We want to cover everything, including rewind, forward, play/pause, channel up and channel down, if possible.  If we run into issues with the ones marked "N/A" in the list, we can discuss that in the forum.

UI

In the forum are a few screenshots and some images that can be used to create the UI.  Only the things inside the red areas in the screenshots are in scope.
  • For now, the buttons will be press-able, including up, down, left, right, and "OK" on the first screen.  On the third screen, we will only implement:
    •  Fast forward
    •  Rewind
    •  Play/pause
  • On the third screen, we will remove the info, record, CC, back, stop, Forward, A, B, C, D buttons
  • Replace two of the buttons removed above with channel up and channel down buttons for now (Button text can just be "CH up" and "CH down")
  • Replace two of the buttons removed above with page up and page down buttons for now (Button text can just be "PG up" and "PG down")
The user will be able to swipe back and forth between the different screens

We won't have a textured background like in the screenshots - just a black background is fine for this challenge.

Example app

Here's an app that the client referenced as a good example of what we're trying to do:

https://play.google.com/store/apps/details?id=io.appground.blek&hl=en_GB

Possible reference code
Submission

Your submission must include:

1.  The app source code, targeting Android 8+
2.  A README describing how to build and deploy the app to a device
3.  A validation documentation describing how to pair the app with a computer and then test the individual keys.


Final Submission Guidelines

Please see above

ELIGIBLE EVENTS:

2018 Topcoder(R) Open

Review style

Final Review

Community Review Board

Approval

User Sign-Off

ID: 30065314