{"id":50457248,"url":"https://github.com/timer-machine/timer-machine-android","last_synced_at":"2026-06-01T03:04:04.737Z","repository":{"id":46114183,"uuid":"413048885","full_name":"timer-machine/timer-machine-android","owner":"timer-machine","description":"⏲ A highly customizable interval timer app for Android","archived":false,"fork":false,"pushed_at":"2026-05-25T01:49:47.000Z","size":4709,"stargazers_count":335,"open_issues_count":42,"forks_count":34,"subscribers_count":5,"default_branch":"develop","last_synced_at":"2026-05-25T03:25:03.517Z","etag":null,"topics":["android","interval-timer","kotlin","mobile","mobile-app","mvvm","open-source","opensource","timer"],"latest_commit_sha":null,"homepage":"","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/timer-machine.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2021-10-03T10:46:02.000Z","updated_at":"2026-05-25T01:49:51.000Z","dependencies_parsed_at":"2024-01-03T02:31:26.387Z","dependency_job_id":"a6c0f967-1d5b-4c73-902e-1de7547a9f04","html_url":"https://github.com/timer-machine/timer-machine-android","commit_stats":null,"previous_names":[],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/timer-machine/timer-machine-android","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timer-machine%2Ftimer-machine-android","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timer-machine%2Ftimer-machine-android/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timer-machine%2Ftimer-machine-android/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timer-machine%2Ftimer-machine-android/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/timer-machine","download_url":"https://codeload.github.com/timer-machine/timer-machine-android/tar.gz/refs/heads/develop","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timer-machine%2Ftimer-machine-android/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33757790,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-01T02:00:06.963Z","response_time":115,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","interval-timer","kotlin","mobile","mobile-app","mvvm","open-source","opensource","timer"],"created_at":"2026-06-01T03:04:04.066Z","updated_at":"2026-06-01T03:04:04.729Z","avatar_url":"https://github.com/timer-machine.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"# TimeR Machine\n\n[![Android CI](https://github.com/timer-machine/timer-machine-android/actions/workflows/android.yml/badge.svg?branch=main)](https://github.com/timer-machine/timer-machine-android/actions/workflows/android.yml)\n\nA highly customizable interval timer app for Android\n\n![Showcase](images/showcase.jpg)\n\n## Download\n\n|                                                                                                                    Link                                                                                                                    |           Package Name           |\n|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:|:--------------------------------:|\n| \u003ca href='https://play.google.com/store/apps/details?id=io.github.deweyreed.timer.google'\u003e\u003cimg alt='Get it on Google Play' src='https://play.google.com/intl/en_us/badges/static/images/badges/en_badge_web_generic.png' height='75'/\u003e\u003c/a\u003e  | io.github.deweyreed.timer.google |\n|                                                            [Get it on Google Drive](https://drive.google.com/open?id=1YHIdW77fuxmyQ7sFza1LEIqmhzBygEZx)\u003cbr\u003e(AAB universial APK)                                                            | io.github.deweyreed.timer.google |\n|                            \u003ca href='https://f-droid.org/en/packages/io.github.deweyreed.timer.other/'\u003e\u003cimg alt='Get it on F-Droid' src='https://fdroid.gitlab.io/artwork/badge/get-it-on.png' height='75'/\u003e\u003c/a\u003e                            | io.github.deweyreed.timer.other  |\n| \u003ca href='https://apt.izzysoft.de/fdroid/index/apk/io.github.deweyreed.timer.other'\u003e\u003cimg alt='Get it on IzzyOnDroid' src='https://gitlab.com/IzzyOnDroid/repo/-/raw/master/assets/IzzyOnDroidButtonGreyBorder_nofont.png' height='50'/\u003e\u003c/a\u003e | io.github.deweyreed.timer.other  |\n|                                                                            [Get it on GitHub](https://github.com/timer-machine/timer-machine-android/releases)                                                                             | io.github.deweyreed.timer.other  |\n\n## Structure\n\nThe app uses the [Navigation component](https://developer.android.com/guide/navigation).\n\n- Modules whose names start with `app-` are different destinations of the navigation graph.\n- Each destination uses `ViewModel` in the `presentation` module.\n- Each `ViewModel` is injected with `UseCase` in the `domain` module.\n- Each `UseCase` is injected with different repositories that are implemented in the `data` module.\n- Modules whose names start with `component-` are shared views and utility codes.\n- The `flavor-google` module includes some advanced features and IAP.\n\n## Build\n\nUse the `dog` product flavor to develop and test.\n\nThe `google` product flavor is the version in Google Play. It has some in-app purchases. It also\nuses Firebase to store backup files and AppCenter to track crashes.\n\n- Firebase: Create a Firebase project and add `google-services.json` to the project.\n    - [This optional Firebase Cloud Function](functions/index.js) removes old backup files when\n      there are too many.\n- AppCenter: Create an AppCenter project and put the app secret to your `local.properties`(\n  Format: `APP_CENTER_APP_SECRET=your-app-secret`).\n\nCompared with the `google` product flavor, the `other` product flavor removes in-app purchases and\ncorresponding functions to release the app to other app stores.\n\n## Contribute\n\nIf you have any questions or suggestions, feel free\nto [open an issue](https://github.com/timer-machine/timer-machine-android/issues/new).\n\nThere are some legacy codes that I wrote while learning Android development. I plan to fix them\nwhen they are broken or required by a new feature.\n\n## Translations\n\nIf you'd like to add translations, please join the project\non [Weblate](https://hosted.weblate.org/engage/timer-machine/).\n\n[![Translation status](https://hosted.weblate.org/widget/timer-machine/android/multi-auto.svg)](https://hosted.weblate.org/engage/timer-machine/)\n\n## License\n\nTimeR Machine is under the [GNU General Public License v3.0](LICENSE).\n\nSome code and functions\nfrom [AOSP's desklock](https://android.googlesource.com/platform/packages/apps/DeskClock/+/refs/heads/master/src/com/android/deskclock)\nare under the Apache License 2.0.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftimer-machine%2Ftimer-machine-android","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftimer-machine%2Ftimer-machine-android","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftimer-machine%2Ftimer-machine-android/lists"}