ryanbuening / timer-machine-android

⏲ A highly customizable interval timer app for Android

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

TimeR Machine

Android CI

A highly customizable interval timer app for Android

Showcase

Get it on Google Play

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 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.

Build

Use the dog product flavor to develop and test.

The google product flavor is the version in Google Play. It has some in-app purchases. It also uses Firebase to store backup files and AppCenter to track crashes.

  • Firebase: Create a Firebase project and add google-services.json to the project.
  • AppCenter: Create an AppCenter project and put the app secret to your local.properties( Format: APP_CENTER_APP_SECRET=your-app-secret).

Compared with the google product flavor, the other product flavor removes in-app purchases and corresponding functions to release the app to other app stores.

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.

About

⏲ A highly customizable interval timer app for Android

License:GNU General Public License v3.0


Languages

Language:Kotlin 90.8%Language:Java 9.1%Language:JavaScript 0.1%