From be2c0ada04edfe1405db52816800deb1aa646934 Mon Sep 17 00:00:00 2001 From: Jean-Luc Makiola Date: Thu, 22 Oct 2026 08:51:40 +0200 Subject: [PATCH] fix(screensaver): match night brightness across hosts, end on leave The dream now turns its window down to the same near-zero brightness as the in-app screen saver, not just to the system's dim level, and builds its ComposeView from the window's context rather than the service's. The in-app screen saver finishes once it is no longer shown, so waking the phone shows the lock screen, and rotating it into a stand no longer recreates it. The outgoing minute of the crossfade is hidden from screen readers. --- app/src/main/AndroidManifest.xml | 9 +++++---- .../ui/screensaver/ClockulaDreamService.kt | 14 ++++++++++--- .../ui/screensaver/ScreenSaverActivity.kt | 20 +++++++------------ .../ui/screensaver/ScreenSaverContent.kt | 10 +++++++--- .../ui/screensaver/ScreenSaverRoot.kt | 17 ++++++++++++++++ .../screensaver/ScreenSaverSettingsSection.kt | 2 +- 6 files changed, 48 insertions(+), 24 deletions(-) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 9bcbaa5..846869d 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -307,13 +307,14 @@ android:theme="@style/Theme.Clockula" /> + app cannot start the system's dream itself. Not exported; it + finishes itself once no longer shown. Rotating into a dock or a + stand re-lays it out rather than recreating it, which would + flash black and reset its brightness. -->