/timer-machine-android

⏲ A highly customizable interval timer app for Android

Primary LanguageKotlinGNU General Public License v3.0GPL-3.0

TimeR Machine

Android CI

A highly customizable interval timer app for Android

Showcase

Download

Link Package Name
Get it on Google Play io.github.deweyreed.timer.google
Get it on Google Drive
(AAB universial APK)
io.github.deweyreed.timer.google
Get it on F-Droid io.github.deweyreed.timer.other
Get it on GitHub io.github.deweyreed.timer.other

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.

There are some legacy codes that I wrote while learning Android development. I plan to fix them when they are broken or required by a new feature.

Translations

If you'd like to add translations, please join the project on Weblate.

Translation status

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.