A) This app fetches data using Coroutines and displays it in an recycler view. MVVM clean architecture
pattern is used. Jetpack library is used mainly Livedata, Viewmodel.
B) Scroll to top feature has been provided on the action bar.
C) Both Unit(Coroutines) and UI Espresso tests cases(Data enter and error state) included.
D) Network connection check has been provided through a alert dialog.
E) A Progress bar is given with a delay.
F) Dynamic recycler view is maintained according to the data.
Below are the snapshot of app with explanations:
While network connection not available inside the app
When app is on restart state without connection
When app connects with any form of network
UI Test with passed and failed error state :
Croutine Test :
Desired history of commits: