Skip to content

fix(wallpaper): fix lock/unlock transition broken by GL thread lifecycle change#11

Merged
kxxoling merged 1 commit into
devfrom
bugfix/lock-transition-sync
Jul 4, 2026
Merged

fix(wallpaper): fix lock/unlock transition broken by GL thread lifecycle change#11
kxxoling merged 1 commit into
devfrom
bugfix/lock-transition-sync

Conversation

@kxxoling

@kxxoling kxxoling commented Jul 4, 2026

Copy link
Copy Markdown
Owner
  • Change RECEIVER_NOT_EXPORTED → RECEIVER_EXPORTED: ACTION_USER_PRESENT is sent by a non-system_server process on some OEM ROMs (e.g. ASUS ZenUI) and was silently blocked, so unlock never triggered.
  • Keep GL thread alive across visibility changes instead of stop/restart: add a 'rendering' flag so EGL context and textures stay resident, eliminating the template-reload stutter on screen-on.
  • Extract updateTransition() from onDrawFrame() and call it even while not rendering, so the lock lerp completes while the screen is off and the first visible frame is already at the correct position.
  • Add @volatile to cross-thread transition fields for visibility.
  • Add 13 regression tests covering triggerLock/triggerUnlock/updateTransition.

…cle change

- Change RECEIVER_NOT_EXPORTED → RECEIVER_EXPORTED: ACTION_USER_PRESENT
  is sent by a non-system_server process on some OEM ROMs (e.g. ASUS
  ZenUI) and was silently blocked, so unlock never triggered.
- Keep GL thread alive across visibility changes instead of stop/restart:
  add a 'rendering' flag so EGL context and textures stay resident,
  eliminating the template-reload stutter on screen-on.
- Extract updateTransition() from onDrawFrame() and call it even while
  not rendering, so the lock lerp completes while the screen is off and
  the first visible frame is already at the correct position.
- Add @volatile to cross-thread transition fields for visibility.
- Add 13 regression tests covering triggerLock/triggerUnlock/updateTransition.
@kxxoling kxxoling merged commit 27ecf3d into dev Jul 4, 2026
1 check passed
@kxxoling kxxoling deleted the bugfix/lock-transition-sync branch July 4, 2026 11:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant