I want to build a prototype Android app which does the following:
1. The app is a 3rd party keyboard.
2. The keyboard should be a regular English keyboard, with an added button next to the spacebar.
3. When this extra button is clicked, the keyboard hides the input characters, and switches to show images from the device’s gallery, in a scrolling view inside the keyboard.
4. When an image is selected:
4.a. it is turned into an arbitrary QR-code (it doesn’t matter what contents the QR code has, an arbitrary QR-code is enough for the prototype), and sent as an input to whatever app is running. So for example, if it is an email client, the QR-code is embedded in it. If it is a Messenger, then the QR-code image is sent to the recipient.
4.b. an external endpoint URL (will be specified later on, you don't have to worry about it or implement the receiving end, just sending the data) receives the details of the selected image (size, format, etc.), as well as details of the current running app to which the image was inputted. These current running app details should be as many as possible. For example, if it is an email client, it should send which email client it was (which Activity or bundle), and any details available from the context (such as which recipient was in the To: box, what was the mail subject, etc.). If it was a Messenger app, it should send which app, and who was the recipient of the message.
Some technical notes:
* This should be an Android Studio project (No Eclipse or others!).
* The deliverable should pass build with no errors, and run smoothly.
* Any module should come complete with unit tests.
Attached document contains a mockup to visually explain further.