Udacity Android Nanodegree : Capstone Project : Phase 2
Main highlights of the project :
- Uses 3rd party library : a) RXJava b) Retrofit 2 c) Commons I/O
- Validates Input from user and prevents app crash : Used snackbars to make the user aware of any API failure.
- Content descriptions are maintained in content_descriptions.xml
- Strings are all translatable with RTL support.
- Widget created with all code under appwidget package.
- App uses following Firebase features : a) Firebase AdMob (implemented Banner ad on flight details screen. Shows test ad) b) Firebase Analytics (implemented Singleton class to get a single instance of FirebaseAnalytics class) c) Firebase Applink : Created a dynamic url so as to test instantapp.
- App theme extends AppCompat.
- Use app bar to reflect, what screen we are on.
- App uses device back button to go back from flight details to flight search screen.
- All dependencies are maintained in gradle. installRelease task works to build a release version of the app.
- App uses contentProvider to store the recently searched flights.
- App uses IntentService to update the widget data.
- Implemented an AsynctaskLoader to load the flight details screen.