Functionalities included
-
App integrates a third-party library.
-
App validates all input from servers and users. If data does not exist or is in the wrong format, the app logs this fact and does not crash.
-
App includes support for accessibility. That includes content descriptions, navigation using a D-pad, and, if applicable, non-audio versions of audio cues.
-
App keeps all strings in a strings.xml file and enables RTL layout switching on all layouts.
-
App provides a widget to provide relevant information to the user on the home screen.
-
App integrates two Google services.
-
If Admob is used, the app displays test ads.
-
If Analytics is used, the app creates only one analytics instance.
-
App theme extends AppCompat.
-
App uses an app bar and associated toolbars.
-
App uses standard and simple transitions between activities.
-
App builds from a clean repository checkout with no additional configuration.
-
App builds and deploys using the installRelease Gradle task.
-
App is equipped with a signing configuration, and the keystore and passwords are included in the repository. Keystore is referred to by a relative path.
-
All app dependencies are managed by Gradle.
-
App stores data locally either by implementing a ContentProvider OR using Firebase Realtime Database OR using Room. No third party frameworks nor Persistence Libraries may be used.
-
It it performs short duration, on-demand requests(such as search), app uses an AsyncTask.
-
If Content provider is used, the app uses a Loader to move its data to its views.