We require a Native Android APK (no Play Store distribution), called "Autopilot". It will need to load an embedded browser (wrapper), the spec outlined below. The app should support Android 11 as a minimum, and run in portrait mode only. A logo for the icon, and loading screen will be provided.
On launch, the only function is to launch a full screen embedded browser to a URL to be provided. The following GET parameters should also be provided:
?uuid=################ (the UUID of the device) &epoch=########## (the current time in epoch) &key=################ (a SHA1 of "salt+uuid+epoch+salt" combined)
Unless the web view has responded with an HTTP 200 response a static app launch/loading screen should still be shown. If the web view does not respond with an HTTP 200 (a different HTTP response or timeout) the app should try to reload the web view every 10 seconds (with fresh authentication credentials).
Please note, nothing within the embedded web view needs to be built as part of this spec, but the app will need to allow geolocation as will be requested from the HTML through the embedded browser.
The loaded website will continuously send geolocation coordinates to the backend via AJAX. Consideration needs to be made as to whether it's possible for the app to allow the embedded HTML to run the AJAX and send up to date coordinated if the app is sent to the background or the device goes to sleep. If this is not possible preventing the phone from sleeping, or the app sending the coordinate parameters might be possible workarounds. This is to be agreed/discussed - please advise.