TimeR Machine
A highly customizable interval timer app for Android
Structure
The app uses the Navigation component.
- Modules whose names start with
app-
are different destinations of the navigation graph. - Each destination uses
ViewModel
in thepresentation
module. - Each
ViewModel
is injected withUseCase
in thedomain
module. - Each
UseCase
is injected with different repositories that are implemented in thedata
module. - Modules whose names start with
component-
are shared views and utility codes. - The
flavor-google
module includes some advanced features and IAP.
Build
Use the dog
product flavor to develop. The other two flavors require Firebase. Their detailed build instructions will arrive later.
Contribute
If you have any questions or suggestions, feel free to open an issue.
If you would like to create a pull request, please open an issue before contributing because I'm cleaning up and improving the codebase. It would avoid some repetitive work.
License
TimeR Machine is under the GNU General Public License v3.0.
Some code and functions from AOSP's desklock are under the Apache License 2.0.