TimeR Machine

Android CI

A highly customizable interval timer app for Android


Get it on Google Play


The app uses the Navigation component.

  • Modules whose names start with app- are different destinations of the navigation graph.
  • Each destination uses ViewModel in the presentation module.
  • Each ViewModel is injected with UseCase in the domain module.
  • Each UseCase is injected with different repositories that are implemented in the data module.
  • Modules whose names start with component- are shared views and utility codes.
  • The flavor-google module includes some advanced features and IAP.


Use the dog product flavor to develop. The other two flavors require Firebase. Their detailed
build instructions will arrive later.


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.


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.