FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

kmcodes/timeroo: Interval timer app for Android — work/rest presets, alarms, and step tracking. Built with Flutter. · GitHub

Repository navigation

Public

About

Interval timer app for Android — work/rest presets, alarms, and step tracking. Built with Flutter.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Timeroo

An interval timer app for Android, built with Flutter. Work/rest round timers with audio and haptic cues, scheduled alarms, and step tracking.

Features

Interval timer

  • Create named presets with a round count, work duration, and rest duration.
  • Runs work/rest phases with a countdown ring, distinct beeps per phase, and vibration.
  • Keeps the screen awake and continues in a foreground service so the timer survives the app being backgrounded.
  • Pause, resume, and stop mid-session.

Alarms

  • Three alarm types: single (one-off at a time), daily (repeats), and countdown (fires after a duration).
  • Delivered as notifications with snooze and dismiss actions.
  • Rescheduled after device reboot.

Steps

  • Reads step data from Health Connect when available, including history.
  • Falls back to the on-device pedometer (live count only, no history) when Health Connect is not present.

Settings

  • Timer volume, persisted across launches.

Tech stack

Concern Choice
Framework Flutter (Dart SDK ^3.11.4)
State management provider
Local storage hive / hive_flutter
Preferences shared_preferences
Audio audioplayers
Haptics vibration
Background execution flutter_foreground_task, wakelock_plus
Notifications flutter_local_notifications, timezone
Steps health (Health Connect), pedometer

Project layout

lib/
  main.dart              App entry: Hive init, adapters, providers, theme
  models/                Hive-backed models (IntervalPreset, Alarm) + generated adapters
  providers/             ChangeNotifiers: timer, presets, alarms, steps, settings
  screens/               Splash, home, timer, alarms, steps, settings, edit screens
  services/              Audio, haptics, alarms, foreground task
  widgets/               CountdownRing, PresetTile, AlarmTile
assets/sounds/           beep_work.wav, beep_rest.wav

Hive typeId assignments (do not reuse):

typeId Type
0 IntervalPreset
1 Alarm
2 AlarmType

Getting started

Requires the Flutter SDK and an Android toolchain.

flutter pub get
flutter run

After changing any @HiveType model, regenerate the adapters:

dart run build_runner build --delete-conflicting-outputs

Building

This project needs JDK 21. If you have multiple JDKs installed (for example a bundled Unity JDK), set JAVA_HOME explicitly or Gradle may resolve the wrong Android SDK:

JAVA_HOME=/usr/lib/jvm/java-21-openjdk-amd64 flutter build apk

Tests

flutter test

Android

  • Application ID: com.kmcodes.timeroo
  • minSdk 26

Permissions requested: vibration, wake lock, foreground service (special use), post notifications, exact alarms, boot completed, activity recognition, and Health Connect step reads.

License

MIT.

About

Interval timer app for Android — work/rest presets, alarms, and step tracking. Built with Flutter.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages


Back | FazBrowse Home | New Git URL