1. Write an app that will send user to 5 different screens depending on the attached Flowchart. (See attached flowcharts, PART B)
- store userIsRegistered value is persistent memory, default = false.
- check if, there are pending messages, start the Server Notify Module from 1a. in the background
- check with server if there is an update (A3.0), if so display a timed popup with the message 'Updating..' for 10 seconds, then it will auto-dismiss
- check userIsRegistered, if false, display a screen with a single button that says 'Register User', if the user presses the button, set userIsRegistered to true.
- check if data connection is up, show one of the 2 main app windows depending on data connection.
- if not otherwise defined, each screen the appropriate title from the spec and one button 'Send'.
- In the No Data screen, 'Send' is disabled.
- In the Main App screen, include a button for setting/unsetting autostart, store in persistent memory.
2. Write auto-start module for app from job posting "Messaging App". (See attached flowcharts PART C)
- if auto start is enabled, when app is moved to foreground, current screen is Main App or No Data Conn screens, but also start a timer and display timer value on screen and cancel button on screen (see Flowchart Part C).
- If cancelled and confirmed, return to Main App or No-Data Screens. Otherwise notify server (A2.0)