Skip to content

Commit 3e9214c

Browse files
MavenImagingclaude
andcommitted
feat: Health Connect opt-in scaffold + privacy doc (N12+N13) — v1.13.1
Lands the Health Connect plumbing without yet pulling the SDK or reading any data — the toggle, the user-facing UI, and the privacy narrative all ship now so the follow-up release that adds the androidx.health.connect:connect-client integration can light up immediately for opted-in users and ship behind a Play Console health- permissions policy review. Wiring (N12 scaffold): - AppSettings.healthConnectEnabled (default false). DataStore key HEALTH_CONNECT_ENABLED; read/write mappings symmetric with the rest of AppSettings. - SettingsBackup.healthConnectEnabled with default 0 (back-compat read). Round-trips through both plain JSON and AES-256 encrypted backup paths so opt-in survives device swaps. - SettingsViewModel.updateHealthConnectEnabled(enabled) setter. - New HealthConnectSection in SettingsScreen, placed between PhilipsHueSection and PersonalizationSection. Flavor-aware copy: Play-flavor users see the read-sleep-sessions pitch; F-Droid users see "this flavor does not ship Health Connect — install Play to opt in" honest disclosure. Documentation (N13): - PRIVACY_POLICY.html gains a "Health Connect (Play flavor, opt-in)" section that spells out: * What's read (SleepSessionRecord only — start/end + optional stage breakdown for past 7 days). * Where it stays (on device — Health Connect's encrypted store + app DataStore; no analytics SDK; no transmission). * Revocation flow (in-app toggle or Health Connect settings). * F-Droid behaviour (no SDK shipped; toggle is a no-op). * Google Play Health Apps policy use-case statement ("wellness / sleep tracking only; never for employment or insurance eligibility; never shared"). - Satisfies the documentation prerequisite for the Play Console health-permissions declaration so the follow-up release that wires the actual SDK can submit for review without surprises. Deferred to a follow-up release: - The actual androidx.health.connect:connect-client dependency, HealthConnectGateway interface, the read-permission handoff to the Health Connect Settings screen, and the Bedtime/Stats data surfacing. The roadmap entry for N12 is marked [~] (in progress) with this scaffold complete; N13 is marked [x] (shipped). Internal: versionCode 65 → 66, versionName 1.13.0 → 1.13.1. Verified the v1.12.3 CI version-line lint passes against the new tree (all six anchors report 1.13.1). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent 3e4b57a commit 3e9214c

10 files changed

Lines changed: 135 additions & 20 deletions

File tree

CHANGELOG.md

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,44 @@
22

33
All notable changes to AlarmClockXtreme will be documented in this file.
44

5+
## [1.13.1] - 2026-05-16
6+
7+
Health Connect opt-in scaffold + Play health-permissions narrative
8+
(roadmap N12 + N13). DataStore-only; the data-read path itself lands
9+
in a follow-up release after the Play Console health-permissions
10+
declaration is approved.
11+
12+
### Added — Health Connect opt-in toggle
13+
14+
- `AppSettings.healthConnectEnabled` (default false) survives DataStore
15+
reads/writes and round-trips through the JSON + AES-256 backup paths
16+
alongside every other setting.
17+
- New Settings → Health Connect card (sits between Philips Hue and
18+
Personalization). Honest flavor-aware copy: Play-flavor users see the
19+
full "read overnight sleep sessions" pitch; F-Droid users see "this
20+
flavor does not ship Health Connect support — install the Play flavor
21+
to opt in."
22+
23+
### Documentation — PRIVACY_POLICY.html
24+
25+
- New "Health Connect (Play flavor, opt-in)" section spells out what
26+
data type is read (`SleepSessionRecord` only), retention (none —
27+
reads are point-in-time, never persisted outside Health Connect's
28+
own encrypted store + the in-app DataStore), revocation flow (toggle
29+
off or revoke in Health Connect settings), F-Droid behaviour (no SDK
30+
shipped, toggle is a no-op), and the Google Play Health Apps policy
31+
use-case statement ("wellness / sleep tracking only — never for
32+
employment or insurance eligibility, never shared").
33+
- This satisfies the prerequisite documentation for the Play Console
34+
health-permissions declaration (roadmap N13) so the follow-up release
35+
that wires the actual `androidx.health.connect:connect-client` SDK
36+
can ship behind a Play store policy review.
37+
38+
### Internal
39+
40+
- Bumped to `versionName = "1.13.1"`, `versionCode = 66`. README badge,
41+
install command, and Wear module version synced.
42+
543
## [1.13.0] - 2026-05-16
644

745
Adaptive primary navigation: NavigationBar on phones, NavigationRail on

PRIVACY_POLICY.html

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,16 @@ <h2>Data Storage</h2>
6363
<h2>Third-Party Services</h2>
6464
<p>The app does not integrate with any third-party analytics, advertising, or tracking services. The only external service used is the Open-Meteo weather API, which is free, open-source, and does not require authentication.</p>
6565

66+
<h2>Health Connect (Play flavor, opt-in)</h2>
67+
<p>The Play-flavor build includes an opt-in toggle to read sleep session data from Android's Health Connect (Settings &rarr; Health Connect &rarr; "Allow reading sleep sessions"). When you enable the toggle and grant the Health Connect permission prompt:</p>
68+
<ul>
69+
<li>The app reads <strong>SleepSessionRecord</strong> entries (start time, end time, optional sleep stage breakdown) for the past 7 days to surface "Last night you slept X hours" context on the Bedtime tab and to drive future Stats charts.</li>
70+
<li>All Health Connect data stays on your device. It is not uploaded, transmitted, shared with the developer, or persisted outside Health Connect's own encrypted store and the app's local DataStore preferences. There is no analytics SDK that could exfiltrate it.</li>
71+
<li>You can revoke access at any time via Health Connect (Settings &rarr; Apps &rarr; Health Connect &rarr; Manage permissions) or by toggling the in-app switch off. Revoking immediately stops further reads; previously displayed values clear on next launch.</li>
72+
<li>The F-Droid flavor does not include the Health Connect SDK at all. The toggle is visible but has no effect on F-Droid builds.</li>
73+
<li>Per the Google Play Health Apps policy (April 2026), AlarmClockXtreme uses Health Connect sleep data only for the "wellness / sleep tracking" use case stated above. It is never used to determine employment or insurance eligibility, and it is never shared.</li>
74+
</ul>
75+
6676
<h2>Children's Privacy</h2>
6777
<p>This app does not knowingly collect any information from children under 13. The app does not collect information from anyone.</p>
6878

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# AlarmClockXtreme
22

3-
![Version](https://img.shields.io/badge/version-1.13.0-blue)
3+
![Version](https://img.shields.io/badge/version-1.13.1-blue)
44
![License](https://img.shields.io/badge/license-Apache%202.0-green)
55
![Platform](https://img.shields.io/badge/platform-Android%208.0+-3DDC84?logo=android&logoColor=white)
66
![Kotlin](https://img.shields.io/badge/Kotlin-2.1-7F52FF?logo=kotlin&logoColor=white)
@@ -15,7 +15,7 @@
1515
**Latest signed APK**[Releases page](https://github.com/SysAdminDoc/AlarmClockXtreme/releases/latest)
1616

1717
```
18-
adb install AlarmClockXtreme-v1.13.0-play.apk
18+
adb install AlarmClockXtreme-v1.13.1-play.apk
1919
```
2020

2121
The Play-flavor APK includes the YouTube alarm-sound downloader (yt-dlp + NewPipe Extractor) and the Wear OS Data Layer bridge. The F-Droid flavor strips those proprietary pieces for an unencumbered build.

ROADMAP.md

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# AlarmClockXtreme Roadmap
22

3-
Living feature backlog, refreshed alongside **v1.13.0** (adaptive primary
4-
navigation — NavigationBar on phones, NavigationRail on tablets/foldables;
3+
Living feature backlog, refreshed alongside **v1.13.1** (Health Connect
4+
opt-in scaffold + privacy-policy update — completing the v1.12 cycle;
55
see [CHANGELOG.md](CHANGELOG.md)). Last audit: **2026-05-16**
66
external scan against current OSS / commercial alarm-clock ecosystem,
77
Android 16 / 17 platform direction, and Play Console policy changes.
@@ -19,10 +19,11 @@ ranked by impact-to-effort and grouped by theme.
1919
(kept on the list, not actively scheduled), **UC** (under consideration —
2020
needs scoping or platform readiness), **Rejected** (explicitly out).
2121

22-
> **Recently shipped** (rolled up from prior tiers): **v1.13.0 adaptive
23-
> NavigationRail on MEDIUM/EXPANDED widths (N11)**; **v1.12.3 CI version-line
24-
> consistency lint (N10)**; **v1.12.2 RingtonePool chip-based editor (N9)**;
25-
> **v1.12.1 missed-timer notification (N8)**; **v1.12.0 per-alarm vibration start-delay (N7) —
22+
> **Recently shipped** (rolled up from prior tiers): **v1.13.1 Health Connect
23+
> opt-in scaffold + privacy-policy update (N12 + N13 scaffold)**; **v1.13.0
24+
> adaptive NavigationRail on MEDIUM/EXPANDED widths (N11)**; **v1.12.3 CI
25+
> version-line consistency lint (N10)**; **v1.12.2 RingtonePool chip-based
26+
> editor (N9)**; **v1.12.1 missed-timer notification (N8)**; **v1.12.0 per-alarm vibration start-delay (N7) —
2627
> DB v10**; **v1.11.6 "Pause alarms" single-tap suspend (N6)**; **v1.11.5 Philips Hue API v2 migration (N5)**; **v1.11.4
2728
> Play wake-lock policy audit (N4)**; **v1.11.3 App Standby bucket awareness
2829
> (N3)**; **v1.11.2 telephony-aware alarm muting (N2)**; **v1.11.1 challenge
@@ -39,15 +40,15 @@ ranked by impact-to-effort and grouped by theme.
3940
4041
---
4142

42-
## Current snapshot (v1.13.0)
43+
## Current snapshot (v1.13.1)
4344

4445
- **Stack:** Kotlin 2.1, AGP 8.11.1 / Gradle 8.13, Compose BOM 2026.05.00 /
4546
Material 3 (1.4.x), Room v10, Hilt 2.53.1, Retrofit 2.11 + Moshi (codegen),
4647
DataStore 1.1.1, Glance 1.1.1, OkHttp 4.12.0, WorkManager 2.9.1, Wear Tiles
4748
1.6.0 / protolayout 1.4.0, Wear Data Layer, yt-dlp (`youtubedl-android`
4849
0.18.1) + NewPipe Extractor 0.24.8 (Play flavor only).
4950
- **Targets:** `minSdk 26`, `targetSdk 35`, `compileSdk 36`,
50-
`versionCode 65`, `versionName 1.13.0`.
51+
`versionCode 66`, `versionName 1.13.1`.
5152
- **Surface area:** 120 Kotlin files in `:app` + 3 in `:wear`, two phone
5253
flavors (`play`, `fdroid`), **22 user-facing dismiss challenges** (all now
5354
whitelisted by `Alarm.sanitized()` after N1), 50+ alarm fields, 35+
@@ -82,8 +83,8 @@ in their notes. **Order is the recommended landing order.**
8283
| N9 | [x] RingtonePool chip-based editor — **shipped v1.12.2.** Replaced the textarea with a horizontally scrollable chip row in the Advanced section. Each pool URI renders as an `AppFilterChip` (tap to remove); an "Add" chip opens an `AlertDialog` for pasting a new URI with duplicate-protection. New `ringtoneShortName(uri)` helper trims content://media/external/audio/media/12345 → "audio/12345" without a per-render ContentResolver lookup. Storage format unchanged. | local: [AlarmEditScreen.kt:1247](app/src/main/java/com/sysadmindoc/alarmclock/ui/alarmedit/AlarmEditScreen.kt) | S | UX polish, no schema change. |
8384
| N10 | [x] CI version-line consistency lint — **shipped v1.12.3.** New `.github/workflows/version-lint.yml` runs on every push/PR. Asserts six touchpoints agree with `app/build.gradle.kts`: the `:wear` module's `versionName`, the README badge, the README `adb install` snippet, the CHANGELOG top `## [x.y.z]` header, and the ROADMAP `## Current snapshot (vX.Y.Z)` header. Pure regex/grep — no JDK/Gradle bootstrap. | local: [.github/workflows/version-lint.yml](.github/workflows/version-lint.yml) | S | Prevents the recurring "README still says vX.Y.Z" post-release mismatch. |
8485
| N11 | [x] Adaptive primary navigation — **shipped v1.13.0.** Used the lower-level `material3-window-size-class` API rather than `NavigationSuiteScaffold` so the existing custom `BottomNavContainer` treatment + accent colors carry through unchanged on phones. AppNavigation branches on width class: COMPACT keeps the bottom NavigationBar verbatim, MEDIUM/EXPANDED render a `NavigationRail` on the leading edge inside a Row. Extracted the per-route NavHost into a private `AppNavHost` to dedupe. | [Android Developers — adaptive navigation](https://developer.android.com/develop/ui/compose/layouts/adaptive/build-adaptive-navigation) | M | Phone UX is byte-for-byte identical. Defers dual-pane Alarms/Edit (X14 follow-on) to a later release. |
85-
| N12 | [ ] Health Connect Sleep Sessions — **read-only first pass** (write deferred to v1.13). Pulls overnight sessions to seed Bedtime tab + Stats; user data never leaves device. | [androidx.health.connect:connect-client docs](https://developer.android.com/health-and-fitness/health-connect); [Track sleep sessions](https://developer.android.com/health-and-fitness/health-connect/features/sleep-sessions) | M | Required pre-work: Play Console health-permissions declaration + privacy-policy refresh (see N13). API surface is stable at `1.1.0-alpha12`; pin behind Play flavor only at first, then move main once Google removes alpha gating. |
86-
| N13 | [ ] Play Store data-safety + health-permission declaration refresh — required by [April 2026 policy](https://support.google.com/googleplay/android-developer/answer/16926792?hl=en) before N12 ships. Update `PRIVACY_POLICY.html` Health-Connect paragraph. | [Play Console policy April 15 2026](https://support.google.com/googleplay/android-developer/answer/16926792?hl=en) | S | Hard prerequisite for N12. Document the read-only justification ("local-only sleep analysis; not transmitted off device"). |
86+
| N12 | [~] Health Connect Sleep Sessions — **scaffold shipped v1.13.1.** DataStore opt-in toggle (`healthConnectEnabled`), Settings → Health Connect card with flavor-aware copy, backup round-trip. Actual `androidx.health.connect:connect-client` SDK integration + Bedtime/Stats data surfacing deferred to a follow-up release pending Play Console health-permissions review. | [androidx.health.connect:connect-client docs](https://developer.android.com/health-and-fitness/health-connect); [Track sleep sessions](https://developer.android.com/health-and-fitness/health-connect/features/sleep-sessions) | M | Toggle survives backup so opted-in users light up immediately when the data path lands. |
87+
| N13 | [x] Play Store data-safety + health-permission declaration refresh — **shipped v1.13.1.** `PRIVACY_POLICY.html` gains a "Health Connect (Play flavor, opt-in)" section spelling out the data type read (`SleepSessionRecord` only), retention (none), revocation flow, F-Droid behaviour (no SDK shipped), and the Google Play Health Apps policy use-case statement. | [Play Console policy April 15 2026](https://support.google.com/googleplay/android-developer/answer/16926792?hl=en) | S | Documentation prerequisite for the follow-up release that wires the SDK. |
8788

8889
## NEXT — v1.13 candidates
8990

app/build.gradle.kts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import java.util.Properties
22
import java.io.FileInputStream
33

4-
// AlarmClockXtreme v1.13.0
4+
// AlarmClockXtreme v1.13.1
55
plugins {
66
id("com.android.application")
77
id("org.jetbrains.kotlin.android")
@@ -18,8 +18,8 @@ android {
1818
applicationId = "com.sysadmindoc.alarmclock"
1919
minSdk = 26
2020
targetSdk = 35
21-
versionCode = 65
22-
versionName = "1.13.0"
21+
versionCode = 66
22+
versionName = "1.13.1"
2323

2424
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
2525

app/src/main/java/com/sysadmindoc/alarmclock/data/backup/BackupManager.kt

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,11 @@ data class SettingsBackup(
143143
// backup so a restore of "I'm pausing for 3 days" survives device
144144
// swaps; stale restored values are harmless because the scheduler
145145
// checks `> now` per fire.
146-
val pauseUntilMillis: Long = 0
146+
val pauseUntilMillis: Long = 0,
147+
// v1.13.1 (roadmap N12): Health Connect opt-in survives backup so a
148+
// user who restores onto a new Play-flavor device doesn't have to
149+
// re-tap the toggle. F-Droid restore ignores it.
150+
val healthConnectEnabled: Boolean = false
147151
)
148152

149153
@Singleton
@@ -212,7 +216,8 @@ class BackupManager @Inject constructor(
212216
sleepSoundFadeSeconds = settings.sleepSoundFadeSeconds,
213217
repeatMissedAlarms = settings.repeatMissedAlarms,
214218
napDefaultMinutes = settings.napDefaultMinutes,
215-
pauseUntilMillis = settings.pauseUntilMillis
219+
pauseUntilMillis = settings.pauseUntilMillis,
220+
healthConnectEnabled = settings.healthConnectEnabled
216221
)
217222
)
218223

@@ -357,7 +362,8 @@ class BackupManager @Inject constructor(
357362
sleepSoundFadeSeconds = s.sleepSoundFadeSeconds,
358363
repeatMissedAlarms = s.repeatMissedAlarms,
359364
napDefaultMinutes = s.napDefaultMinutes,
360-
pauseUntilMillis = s.pauseUntilMillis
365+
pauseUntilMillis = s.pauseUntilMillis,
366+
healthConnectEnabled = s.healthConnectEnabled
361367
)
362368
}
363369
}

app/src/main/java/com/sysadmindoc/alarmclock/data/preferences/PreferencesManager.kt

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,14 @@ data class AppSettings(
124124
// is in the past, the value is treated as expired and alarms resume on the
125125
// next reschedule pass.
126126
val pauseUntilMillis: Long = 0,
127+
// v1.13.1 (roadmap N12 + N13): user opt-in for Health Connect sleep
128+
// session reads. Defaults false because Health Connect requires its
129+
// own per-data-type permission grant (handled in a future release;
130+
// the first-pass UI surfaces the toggle + a status row but does not
131+
// yet pull data — see HealthConnectGateway). The Play Console health
132+
// permissions policy refresh required to actually ship the data path
133+
// is tracked alongside (roadmap N13).
134+
val healthConnectEnabled: Boolean = false,
127135
)
128136

129137
private fun AppSettings.sanitized(): AppSettings {
@@ -269,6 +277,7 @@ class PreferencesManager @Inject constructor(
269277
val SHOW_RADAR_EMBED = booleanPreferencesKey("show_radar_embed")
270278
val NEWS_FEED_URL = stringPreferencesKey("news_feed_url")
271279
val PAUSE_UNTIL = longPreferencesKey("pause_until_millis")
280+
val HEALTH_CONNECT_ENABLED = booleanPreferencesKey("health_connect_enabled")
272281
}
273282

274283
val settings: Flow<AppSettings> = context.dataStore.data
@@ -374,6 +383,7 @@ class PreferencesManager @Inject constructor(
374383
newsFeedUrl = this[Keys.NEWS_FEED_URL]
375384
?: "https://news.google.com/rss?hl=en-US&gl=US&ceid=US:en",
376385
pauseUntilMillis = this[Keys.PAUSE_UNTIL] ?: 0L,
386+
healthConnectEnabled = this[Keys.HEALTH_CONNECT_ENABLED] ?: false,
377387
)
378388

379389
private fun MutablePreferences.applySettings(s: AppSettings) {
@@ -434,5 +444,6 @@ class PreferencesManager @Inject constructor(
434444
this[Keys.SHOW_RADAR_EMBED] = s.showRadarEmbed
435445
this[Keys.NEWS_FEED_URL] = s.newsFeedUrl
436446
this[Keys.PAUSE_UNTIL] = s.pauseUntilMillis
447+
this[Keys.HEALTH_CONNECT_ENABLED] = s.healthConnectEnabled
437448
}
438449
}

app/src/main/java/com/sysadmindoc/alarmclock/ui/settings/SettingsScreen.kt

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -400,6 +400,7 @@ fun SettingsScreen(
400400
IntegrationsSection(state, viewModel)
401401
HolidaysSection(state, viewModel)
402402
PhilipsHueSection(state, viewModel)
403+
HealthConnectSection(state, viewModel)
403404
PersonalizationSection(state, viewModel)
404405
BackupRestoreSection(viewModel)
405406

@@ -1318,6 +1319,42 @@ private fun PhilipsHueSection(state: SettingsUiState, viewModel: SettingsViewMod
13181319
}
13191320
}
13201321

1322+
/**
1323+
* v1.13.1 (roadmap N12 + N13): Health Connect opt-in scaffold. The first
1324+
* pass surfaces the toggle so opted-in users light up immediately when
1325+
* the follow-up release ships the `androidx.health.connect:connect-client`
1326+
* SDK integration. F-Droid builds also see the row, but the toggle text
1327+
* is honest about the flavor not yet shipping Health Connect.
1328+
*
1329+
* The Play Console health-permissions declaration (N13) is gated on the
1330+
* actual data-read path landing; for now `PRIVACY_POLICY.html` carries
1331+
* the narrative.
1332+
*/
1333+
@Composable
1334+
private fun HealthConnectSection(state: SettingsUiState, viewModel: SettingsViewModel) {
1335+
val isPlayFlavor = com.sysadmindoc.alarmclock.BuildConfig.FLAVOR == "play"
1336+
AppSurfaceCard {
1337+
AppSectionTitle(
1338+
title = "Health Connect",
1339+
description = if (isPlayFlavor) {
1340+
"Read overnight sleep sessions from Health Connect to enrich the Bedtime tab and Stats. The connection prompt opens the system Health Connect screen."
1341+
} else {
1342+
"The F-Droid flavor does not ship Health Connect support. Install the Play flavor to opt in."
1343+
}
1344+
)
1345+
SettingsToggle(
1346+
label = "Allow reading sleep sessions",
1347+
checked = state.settings.healthConnectEnabled,
1348+
supportingText = if (isPlayFlavor) {
1349+
"Toggle on to grant Health Connect access (data integration ships in a follow-up release; toggle survives backup/restore so opted-in users light up immediately when it does)."
1350+
} else {
1351+
"Disabled on F-Droid. Toggle has no effect on this build."
1352+
},
1353+
onToggle = viewModel::updateHealthConnectEnabled
1354+
)
1355+
}
1356+
}
1357+
13211358
/**
13221359
* v1.2.0 personalization controls. Until this audit pass these settings
13231360
* (`accentColor`, `showMotivationalQuotes`, `adaptiveDifficultyEnabled`,

app/src/main/java/com/sysadmindoc/alarmclock/ui/settings/SettingsViewModel.kt

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -342,6 +342,18 @@ class SettingsViewModel @Inject constructor(
342342
}
343343
}
344344

345+
/**
346+
* v1.13.1 (roadmap N12): toggle the Health Connect opt-in. The
347+
* concrete sleep-session read path is deferred to a follow-up
348+
* release that bundles the `androidx.health.connect:connect-client`
349+
* SDK and the matching Play Console health-permissions declaration
350+
* (see N13). For now the toggle stores intent so the future
351+
* release can light up immediately for opted-in users.
352+
*/
353+
fun updateHealthConnectEnabled(enabled: Boolean) {
354+
updateSettings { it.copy(healthConnectEnabled = enabled) }
355+
}
356+
345357
/** v1.11.6: Clear an active pause and re-arm alarms. */
346358
fun resumeAlarms() {
347359
viewModelScope.launch {

wear/build.gradle.kts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@ android {
1414
applicationId = "com.sysadmindoc.alarmclock"
1515
minSdk = 26
1616
targetSdk = 35
17-
versionCode = 65
18-
versionName = "1.13.0"
17+
versionCode = 66
18+
versionName = "1.13.1"
1919
}
2020

2121
signingConfigs {

0 commit comments

Comments
 (0)