Native Android Kotlin App Developement | Player & Detector
Budget: $250 – $750 CAD
Hi Freelancers,
We are looking to develop an android native application that is including two main capabilities.
Context
This Android app is a native application with two main capabilities:
1. Displaying a programmed sequence of images and videos on a device, display/screen.
2. Counting the number of people looking at the camera or in front of it.
The app interacts with the screen, the camera and Orangead’s cloud infrastructure.
Usage Modes
These capabilities are used independently or together, depending on the configuration of the application. For example, a configuration might only activate the player module of the app, while another configuration only activates the detector module, while a third configuration might activate both.
The app is programmed in such a way that the detector and the player can work together even if they are in two different hardware devices. In this case, they communicate using bluetooth or web sockets.
Attached subsections illustrate these different configurations.
Modes :
1.2.1 Player + Detector Mode
1.2.2 Player + Remote Detector Mode via Websocket
1.2.3 Player + Remote Detector Mode via BlueTooth
1.2.4 Player Only Mode
1.2.5 Detector Only Mode
Architecture
The android app shall be modular and use as much as possible standard libraries.
Multiple modules are foreseen as illustrated in the architecture diagram.
The android app shall be modular and use as much as possible standard libraries.
Multiple modules are foreseen as illustrated in the attached architecture diagram.
*** The modules BlueTooth, HTTP and Torrent are for the future.
You would need to manage and work with :
Modules Dependencies
Intent
General requirements
1. Be coded natively for Android only using Kotlin.
2. Execute on Android 7 and above
3. Include automated regression tests.
4. Include the following: source code, dependencies, build instruction, certificates.
5. Include relevant comment for another developer to understand the code.
6. Be pushed at most daily on a private GitHub or Codecommit repository provided by Orangead.
7. Log errors to sentry (using a provided key)
8.Errors should be sent to sentry. Sentry access details will be provided later.
Player
The role of the Player module is to manage the display of content on the screen.
The player display a programmed sequence of images and videos on a screen.
The player shall
Detect and support portrait and landscape orientation
Automatically switch between orientations
Use hardware acceleration to play the media whenever possible.
Program the reload of the content according to the nextReload property
Play in loop each media in the sequence provided by the content
Play each media the length of time indicated by the property duration
You will have to manage and consider the exceptions in the documentation of the app.
Websocket
Use websocket and specific configurations
Detection :
The role of the Detector module Count the number of people looking at the camera or in front of it.
The Detector is using the camera to measure and send datas to Orangead cloud system via websocket or HTTP API.
If we go foward, we will share entire project documentations and digrams
We are looking to develop an android native application that is including two main capabilities.
Context
This Android app is a native application with two main capabilities:
1. Displaying a programmed sequence of images and videos on a device, display/screen.
2. Counting the number of people looking at the camera or in front of it.
The app interacts with the screen, the camera and Orangead’s cloud infrastructure.
Usage Modes
These capabilities are used independently or together, depending on the configuration of the application. For example, a configuration might only activate the player module of the app, while another configuration only activates the detector module, while a third configuration might activate both.
The app is programmed in such a way that the detector and the player can work together even if they are in two different hardware devices. In this case, they communicate using bluetooth or web sockets.
Attached subsections illustrate these different configurations.
Modes :
1.2.1 Player + Detector Mode
1.2.2 Player + Remote Detector Mode via Websocket
1.2.3 Player + Remote Detector Mode via BlueTooth
1.2.4 Player Only Mode
1.2.5 Detector Only Mode
Architecture
The android app shall be modular and use as much as possible standard libraries.
Multiple modules are foreseen as illustrated in the architecture diagram.
The android app shall be modular and use as much as possible standard libraries.
Multiple modules are foreseen as illustrated in the attached architecture diagram.
*** The modules BlueTooth, HTTP and Torrent are for the future.
You would need to manage and work with :
Modules Dependencies
Intent
General requirements
1. Be coded natively for Android only using Kotlin.
2. Execute on Android 7 and above
3. Include automated regression tests.
4. Include the following: source code, dependencies, build instruction, certificates.
5. Include relevant comment for another developer to understand the code.
6. Be pushed at most daily on a private GitHub or Codecommit repository provided by Orangead.
7. Log errors to sentry (using a provided key)
8.Errors should be sent to sentry. Sentry access details will be provided later.
Player
The role of the Player module is to manage the display of content on the screen.
The player display a programmed sequence of images and videos on a screen.
The player shall
Detect and support portrait and landscape orientation
Automatically switch between orientations
Use hardware acceleration to play the media whenever possible.
Program the reload of the content according to the nextReload property
Play in loop each media in the sequence provided by the content
Play each media the length of time indicated by the property duration
You will have to manage and consider the exceptions in the documentation of the app.
Websocket
Use websocket and specific configurations
Detection :
The role of the Detector module Count the number of people looking at the camera or in front of it.
The Detector is using the camera to measure and send datas to Orangead cloud system via websocket or HTTP API.
If we go foward, we will share entire project documentations and digrams