suspend coroutine callback in Location Callback + Resource Provider + interceptor to make retrofit read from file as cache + MVI pattern
This is a sample app that demonstrate how to use coroutine Callback in Android application in clean architecture.
- LocationService to update user location and connect it with notification
This sample app also demonstrate how to use Resource provider to make domain read from Raw resource but the value from presentation
This app also demonstrate how to read fro file using retrofit using interceptor
Because it is an architectural project, UI has been kept simple.
This app uses MVI (Model View Intent) architecture.
-
App Package
:app
module is an com.android.application, which is needed to create the app bundle. It contains dependency graph and UI related classes. It presents data to screen and handle user interactions. -
Data Package
:data
module contains implementation of repository and local - remote repository interface adapt -
Domain Package
:domain
module contains use cases and repository interface adapt -
Presentation Module
:presentation
module contains ui
Each module has its own test.