feat(ring): optionally open the ring screen over other apps

A full-screen intent is only a heads-up on a phone in use. A new, opt-in
setting under Alarms lets a ringing alarm or timer open its screen over
the app in use instead. It relies on "display over other apps", which
turning the setting on sends the user to grant; the switch reads as off
while the permission is missing. A locked or dark phone is still left
to the full-screen intent, so the screen never opens twice.
This commit is contained in:
makiolaj committed 2026-10-28 12:01:43 +01:00
1 parent d3af7d5b7c
commit baffa9a188
14 files changed
+122 -20

No files matched your search

+1
View File
@@ -996,6 +996,7 @@ declared because a specific path would otherwise fail, silently, at 07:00.
| `WAKE_LOCK` | keep the CPU up for the length of a ring |
| `VIBRATE` | an alarm and a timer both vibrate, and vibrate alone when no audio source opens |
| `ACCESS_NOTIFICATION_POLICY` | issue #1's opt-in bedtime mode. Install-time, and on its own it does nothing: it lists Clockula under Special app access › Do Not Disturb, which the user grants by hand. With that grant Clockula adds one Do Not Disturb rule of its own, which always lets alarms through (§18) |
| `SYSTEM_ALERT_WINDOW` | the opt-in "Ring screen over other apps". Granted by hand from the system page the setting opens. It is used only as Android's background-activity-start exemption, so a ring screen opens over the app in use where a full-screen intent would be a heads-up. Clockula draws no overlay window |
**M6 adds no permission at all.** A timer never takes over the screen (no
full-screen intent, no ring activity, no `showWhenLocked`), because its user set
+3
View File
@@ -171,6 +171,9 @@ on. Clockula only opens the address and sends no data of yours with it.
Clockula Do Not Disturb access yourself. Clockula then adds one Do Not
Disturb mode of its own and turns it on and off on your schedule. It does not
read your notifications.
- `SYSTEM_ALERT_WINDOW`: only used if you turn on "Ring screen over other apps"
and grant it yourself. A ringing alarm or timer then opens its ring screen
over the app you're using. Clockula draws nothing else over other apps.
- `ACCESS_NETWORK_STATE`: added by the Android library that updates the
home-screen widgets (WorkManager). It lets an app see whether a network
connection exists. It does not let it use one, and without `INTERNET` no