How python-piyush/mygym works
MyGYM is an Android gym-rest timer. Users choose a muscle group, start, pause, or reset its countdown, and can edit rest durations either from the home screen or the settings list. The UI reads and saves per-muscle durations through Preferences DataStore, with defaults supplied by the timer model. The graph reflects the shown Compose code; it omits Android launch wiring and other relationships not evidenced by the excerpts.
Main entry points: MainActivity.kt Home and timer · DurationSettingsScreen.kt Settings screen · TimerSettings.kt Duration preferences · Theme.kt Theme provider
Components 10
Timer experience
- Home and timer
app/src/main/java/com/boss/mygym/MainActivity.kt - Muscle defaults
app/src/main/java/com/boss/mygym/GymTimer.kt
Duration settings
- Settings screen
app/src/main/java/com/boss/mygym/DurationSettingsScreen.kt - Duration editor
app/src/main/java/com/boss/mygym/DurationSettingsScreen.kt
Duration storage
- Duration preferences
app/src/main/java/com/boss/mygym/TimerSettings.kt - Preferences DataStore
UI theme
- Theme provider
app/src/main/java/com/boss/mygym/ui/theme/Theme.kt - Theme colors
app/src/main/java/com/boss/mygym/ui/theme/Color.kt - Typography
app/src/main/java/com/boss/mygym/ui/theme/Type.kt
Other components
- Gym user
Connections 13
- Gym user → Home and timer: uses timer
app/src/main/java/com/boss/mygym/MainActivity.kt - Home and timer → Theme provider: applies theme
app/src/main/java/com/boss/mygym/MainActivity.kt - Theme provider → Theme colors: uses palette
app/src/main/java/com/boss/mygym/ui/theme/Theme.kt - Theme provider → Typography: uses typography
app/src/main/java/com/boss/mygym/ui/theme/Theme.kt - Home and timer → Settings screen: shows settings
app/src/main/java/com/boss/mygym/MainActivity.kt - Home and timer → Muscle defaults: lists muscle groups
app/src/main/java/com/boss/mygym/MainActivity.kt - Home and timer → Duration preferences: reads duration
app/src/main/java/com/boss/mygym/MainActivity.kt - Home and timer → Duration editor: opens editor
app/src/main/java/com/boss/mygym/MainActivity.kt - Settings screen → Muscle defaults: lists muscle groups
app/src/main/java/com/boss/mygym/DurationSettingsScreen.kt - Settings screen → Duration preferences: reads durations
app/src/main/java/com/boss/mygym/DurationSettingsScreen.kt - Settings screen → Duration editor: opens editor
app/src/main/java/com/boss/mygym/DurationSettingsScreen.kt - Duration editor → Duration preferences: saves duration
app/src/main/java/com/boss/mygym/DurationSettingsScreen.kt - Duration preferences → Preferences DataStore: reads and writes
app/src/main/java/com/boss/mygym/TimerSettings.kt