## timer-machine/timer-machine-android — 7.7.0…7.8.0

_64 commits._

### Features
- **Add null-safe index helpers for `TimerEntity` and handle empty steps in `forEachStep` logic** (0640412)
- **Refactor `ScreenWakeLock` to support dynamic level updates and simplify its release logic.** (03c998a)
- **Call `setViewWithEntity` when adding a new behavior view in `EditableBehaviourLayout`** (c4aa450)
- **Add test for saving a disabled scheduler in `EditSchedulerViewModelTest`** (bab93d3)
- **Add Italian locale** (0f3967b)
- **Add APK release workflow and CHANGELOG.md** (0afac8c)
- **Add license information using AboutLibraries library** (6ad46b4)
- **Add French and Russian locales** (17a0a8f)
- **Add Foojay toolchain resolver and configure Gradle daemon JVM** (a023beb)
- **Add quick setting to toggle screen brightness** (b87b0ae)

### Fixes
- **Fix `loopIndex` mapping for group steps in `TimerMachineHelper`** (1f0035c)

### Backend
- **Version 7080001** (b617e70)
- **Move screen wake lock menu logic to `BaseOneFragment` and update `releaseScreenLock`** (54f627a)
- **Correct typo in CHANGELOG.md regarding reminder fixes** (6e05f59)
- **Update loop numbers separator to space in `BehaviourLayoutUtils`** (c8e7180)
- **Update placeholder text for loop skip target input in `dialog_skip_target.xml`** (7747086)
- **Verison 7080000 and 7.8.0** (215a56d)
- **Set `testInstrumentationRunner` to `io.github.deweyreed.timer.TestRunner` in `app/build.gradle.kts`** (953f4f5)
- **Set Main dispatcher for `RecordViewModel` and `TimerViewModel` unit tests** (7389b11)
- **Refactor `timeline days test` to use fixed time ranges and improve assertion logic** (1d502c2)
- **Update various Android and third-party dependencies** (52d34fc)
- **chmod +x ./gradlew** (ebac578)
- **Update `SaveScheduler` to return scheduling results and display feedback in UI** (8c8c2ea)
- **Update file deletion logic in `ExportFragment` to only delete empty files** (0f4f15d)
- **Added translation using Weblate (Ukrainian)** (890c06c)
- **Specify bash shell for GitHub Actions steps in android-setup action** (ec6f50f)
- **Move checkout step from composite action to workflow files** (244583d)
- **Refactor `Task` tick listener logic and improve `TimerMachine` behavior handling #146** (abf752a)
- **Update CHANGELOG link in release workflow to point to main branch** (0db9683)
- **Extract Android setup steps into a reusable composite action** (30bc1c9)
- **Configure release signing using keystore properties** (557b0fe)
- **Translated using Weblate (Spanish)** (85e5d38)
- **Translated using Weblate (Portuguese)** (8e07774)
- **Translated using Weblate (Italian)** (4558cf0)
- **Update GitHub Actions workflow** (c02b0ff)
- **Reformat @Suppress annotations in ScreenWakeLock.kt** (33e2e14)
- **Remove lint configuration** (c388dd0)
- **Update Gradle and AGP** (ab399e4)
- **Manage ScreenWakeLock during Picture-in-Picture mode and refactor its implementation. #87** (65dfe24)
- **Disable baselineprofile plugin until it supports AGP 9** (f6ef4f5)
- **Replace zoomable with telephoto** (0d994d9)
- **Update Gradle, AGP, and dependencies** (212a967)
- **Translated using Weblate (Russian)** (7776a04)
- **Translated using Weblate (Dutch)** (1178e84)
- **Translated using Weblate (Russian)** (e851cb9)
- **Translated using Weblate (German)** (9085427)
- **Translated using Weblate (French)** (53b9a16)
- **Translated using Weblate (French)** (291cd57)
- **Translated using Weblate (French)** (69b0f03)
- **Translated using Weblate (French)** (b24b361)
- **Translated using Weblate (French)** (df2100f)
- **Translated using Weblate (French)** (fb3d3a8)
- **Translated using Weblate (French)** (495b0c3)
- **Translated using Weblate (Dutch)** (8e88616)
- **Improve the skip behaviour strings** (eebe069)
- **Implement the skip step behaviour** (d7623d0)
- **Refactor OneActivity to set timer ID unconditionally to survive process death** (fdef530)
- **Rename fastAdapter to fastAdapter-core** (7d50e5a)
- **Refactor Gradle files to use Kotlin DSL and convention plugins** (b62dd6c)
- **Implement convention plugins** (70dfd60)
- **Refactor Gradle files to use assignment for properties** (eb4af9a)
- **Upgrade Gradle Wrapper to 8.14.3** (1029868)
- **Refine Chinese translations for import error message** (30f69fb)
- **Translated using Weblate (Chinese (Simplified Han script))** (aea674a)

_Recap by [Repo Wrapped](https://repowrapped.com/gh/timer-machine/timer-machine-android?utm_source=github-action)._