feat(selfcheck): why might my alarm not ring?
A pure rule table (domain/selfcheck/SelfCheck.kt) over real device state: exact-alarm and full-screen-intent permission, notification and alarm-channel state, battery-optimisation exemption, background restriction, DND (read-only — Clockula never requests ACCESS_NOTIFICATION_POLICY or touches DND itself), alarm stream volume, a known aggressive-OEM allowlist, and the system's own next alarm compared against what Clockula itself computed. Each row maps to a deep link into the exact settings page responsible. FSI denial and a missing battery exemption warn rather than fail — both degrade (to heads-up, and to a doze-exempt setAlarmClock registration) rather than silence the alarm. The settings hub's 'Why might my alarm not ring?' row now shows the live problem count.
This commit is contained in:
@@ -270,6 +270,11 @@
|
||||
<string name="settings_self_check">Why might my alarm not ring?</string>
|
||||
<string name="settings_self_check_title">Why might my alarm not ring?</string>
|
||||
<string name="settings_self_check_summary">Check exact-alarm, notification and battery settings</string>
|
||||
<plurals name="settings_self_check_problems">
|
||||
<item quantity="one">%1$d problem found</item>
|
||||
<item quantity="other">%1$d problems found</item>
|
||||
</plurals>
|
||||
<string name="settings_self_check_all_clear">Everything looks fine</string>
|
||||
<string name="settings_section_data">Data</string>
|
||||
<string name="settings_backup">Back up & restore</string>
|
||||
<string name="settings_backup_title">Back up & restore</string>
|
||||
@@ -294,4 +299,46 @@
|
||||
<string name="settings_backup_import_confirm_title">Replace everything?</string>
|
||||
<string name="settings_backup_import_confirm_message">This replaces all your current alarms, timers, world clocks and settings with what\'s in the backup file. This can\'t be undone.</string>
|
||||
<string name="settings_backup_import_confirm_action">Replace</string>
|
||||
|
||||
<!-- M10: self-check -->
|
||||
<string name="selfcheck_fix">Fix</string>
|
||||
|
||||
<string name="selfcheck_exact_alarm_title">Exact alarms</string>
|
||||
<string name="selfcheck_exact_alarm_ok">Allowed — your alarm will fire on time</string>
|
||||
<string name="selfcheck_exact_alarm_problem">Not allowed — alarms may fire late</string>
|
||||
|
||||
<string name="selfcheck_notifications_title">Notifications</string>
|
||||
<string name="selfcheck_notifications_ok">Allowed — the ring screen can show over other apps</string>
|
||||
<string name="selfcheck_notifications_warn">Off — your alarm will still sound, but no screen or heads-up banner will show</string>
|
||||
|
||||
<string name="selfcheck_alarm_channel_title">Alarm channel</string>
|
||||
<string name="selfcheck_alarm_channel_ok">Not blocked</string>
|
||||
<string name="selfcheck_alarm_channel_warn">Blocked — your alarm will still sound, but no screen or heads-up banner will show</string>
|
||||
|
||||
<string name="selfcheck_fsi_title">Full-screen alarm</string>
|
||||
<string name="selfcheck_fsi_ok">Allowed — the ring screen can show over the lock screen</string>
|
||||
<string name="selfcheck_fsi_warn">Not allowed — your alarm will still sound, as a heads-up notification instead</string>
|
||||
|
||||
<string name="selfcheck_battery_title">Battery optimisation</string>
|
||||
<string name="selfcheck_battery_ok">Exempt</string>
|
||||
<string name="selfcheck_battery_warn">Not exempt — exempting Clockula can make alarms more reliable</string>
|
||||
|
||||
<string name="selfcheck_background_restricted_title">Background activity</string>
|
||||
<string name="selfcheck_background_restricted_ok">Not restricted</string>
|
||||
<string name="selfcheck_background_restricted_problem">Restricted — alarms may not fire reliably</string>
|
||||
|
||||
<string name="selfcheck_dnd_title">Do Not Disturb</string>
|
||||
<string name="selfcheck_dnd_ok">Not blocking alarms</string>
|
||||
<string name="selfcheck_dnd_problem">Total silence is on — it blocks alarms too</string>
|
||||
|
||||
<string name="selfcheck_alarm_volume_title">Alarm volume</string>
|
||||
<string name="selfcheck_alarm_volume_ok">On</string>
|
||||
<string name="selfcheck_alarm_volume_problem">Muted — your alarm will fire silently</string>
|
||||
|
||||
<string name="selfcheck_oem_title">Device manufacturer</string>
|
||||
<string name="selfcheck_oem_warn">Some manufacturers aggressively close background apps — see how to keep Clockula exempt</string>
|
||||
|
||||
<string name="selfcheck_next_alarm_title">Next alarm, as the system sees it</string>
|
||||
<string name="selfcheck_next_alarm_ok">Matches what Clockula scheduled</string>
|
||||
<string name="selfcheck_next_alarm_problem">Doesn\'t match what Clockula scheduled — open the app to re-check</string>
|
||||
</resources>
|
||||
|
||||
Reference in New Issue
Block a user