Kiosk App Enhancement + existing app, upgrade

Job ID: 37748681

Budget: $30 – $250 USD

I'm looking for a proficient Android developer to implement key updates to our existing application, ensuring it meets our new functionality criteria. The specifics of the project are outlined below:

1. We need an own app, that does Kiosk Lockdown i found one in GitHub repository I've identified. The application must be capable of locking a device to multiple apps simultaneously, it need to be multiple-app lockdown, meaning 3 apps must run and autostart on device startup in the order i specify.
The app i found on github is a few years old, so must assume update will be needed.
https://github.com/osamaalek/Kiosk-Launcher

2. Our own App is currently running on BLE connection to an esp32 board to give signals out to machines etc. we need to see if we can disable this, and switch to the devices internal connections we need one output for pulses, and one input connection (when no GND on this pin we show a popup on screen (already implemented, just showing from BLE message)) .

Below is an examples from the device manufacturer:
This is an output pulse example:
/**
* nodeValue: "1" DIG-OUT output high
* “0” DIG-OUT output low
*/
private boolean setdigout(String nodeValue) {

try(FileOutputStream fos = new FileOutputStream("/sys/devices/platform/digit_dev/digout")) {
fos.write(nodeValue.getBytes());
} catch (IOException e) {
Log.e(TAG, "setdigout: ", e);
return false;
}
return true;
}

private void delay(int ms){
try {
Thread.sleep(ms);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

private void digital_pulse(){
setdigout("1");
delay(60);
setdigout("0");
}

This is an input example (again here we need to look for GND, if no GND on the pin, We shutdown (functions are already there, but working out from BLE messages, due to security internal connections are better.)

+ int digin1 = -1;
+ int digin2 = -1;
+ int digin3 = -1;
+ try(FileInputStream fis = new FileInputStream("/sys/devices/platform/digit_dev/digin1")) {
+ //Log.d(TAG, "digin1: " + new String(readBuf) + " byte[0]=" + readBuf[0]);
+ digin1 = readBuf[0] - 48;
+ Log.e(TAG, "digin1: ", e);
+ try(FileInputStream fis = new FileInputStream("/sys/devices/platform/digit_dev/digin2")) {
+ //Log.d(TAG, "digin2: " + new String(readBuf) + " byte[0]=" + readBuf[0]);
+ digin2 = readBuf[0] - 48;
+ Log.e(TAG, "digin2: ", e);
+ try(FileInputStream fis = new FileInputStream("/sys/devices/platform/digit_dev/digin3")) {
+ //Log.d(TAG, "digin3: " + new String(readBuf) + " byte[0]=" + readBuf[0]);
+ digin3 = readBuf[0] - 48;

**Ideal Skills and Experience:**
- Proficiency in Android app development, with a strong portfolio of past projects.
- Experience in implementing multilingual support within Android applications.
- Familiarity with Kiosk mode applications and the ability to modify existing GitHub projects to meet specific requirements.
- Strong understanding of UI/UX principles to ensure seamless integration of new features without compromising the user experience.

The ideal candidate will not only possess technical expertise but also a proactive communication style, ensuring clarity and efficiency throughout the project's duration. This update is crucial for broadening our app's accessibility and functionality, making it a high-priority project.


Given that the changes are relatively simple, and there is examples of everything and the Kiosk lockdown app from github is almost completly whats needed, the job should actually be quite easy for the right candidate, so please dont do crazy high bids, since we already know this is not a big task, .

You can consider this a test assignment, and can expect more work to come after, if you do well on this, since we are quite busy at the moment, and it will only get more busy from this point.