The latest code can be browsed at http://bit.ly/cLHzbW. A couple of critical changes have gone into the structure:
- Removed the logic for progress or error activity from the Controller. The effect is – the fields progressActivity, errorActivity have been removed and also the code pieces that referenced them have been deleted.
- Progress activity has been replaced by a simple, easy to use, ProgressDialog. This dialog is initialized in and launched from BaseActivity, as opposed to earlier structure where the progress activity was launched from Controller
- Overloaded “go” methods have been added in BaseActivity. This gives ease and peace of mind to the BaseActivity-inherited classes to never be bothered about the Controller.
Pending items include:
- Appropriate response handling in case of error from the incoming response in Controller.
- Ensuring that if an error occurs and the same activity is shown, pressing the “back” button should not execute the “errorsome” command again (deviation from normal browsing a MVC-designed website).
- Creating a robust case study to test out a few scenarios:
Main (Splash) => Login => Successful => Home => Back (should exit);
Splash => Login => Failed => Relogin (may be same activity or different) => Back (should exit);
Splash => Login => Cancel (back button) => Should just cancel the login request.
Keep watching for more updates!