tree ff78efffaaffe8450f71521c98360fb1d6341aba
parent fed4f3261c16bd4a59fbd755e0eec68772b7bf46
author Josh Yang <yzj@google.com> 1689362838 -0700
committer Josh Yang <yzj@google.com> 1689374909 -0700

Do not bypass wallpaper visibility update during keyguard going away.

Today, KeyguardController explicitly sets the home wallpaper visibility
to visible when keyguard is going away, and wallpaper controller's
visibility update is bypassed during this period.

However, this is redundant and can trigger problems:

1. When keyguard is going away, the WallpaperController already
   correctly sets the home wallpaper to visible. This happens in
   WallpaperController.adjustWallpaperWindows() ->
   WallpaperController.updateWallpaperTokens() where keyguardLocked ==
   false. So it's redundant to explicitly update wallpaper visibility in
   KeyguardController.
2. It's error-prone to assume that keyguard going away animation always
   requires showing home wallpaper. A counter example would be that the
   opening app doesn't have wallpaper. So explicitly setting home
   wallpaper visible is sometimes redundant.
3. We shouldn't skip WallpaperController's visibility update in the middle
   of keyguard going away. See b/290650048#comment6 for an example where
   skipping visibility update causes wallpaper stuck in invisible state.

Bug: 290650048
Test: manual test following scenarios:
      1. On watch, transition is correct between keyguard w/wo wallpaper
         and activity w/wo wallpaper.
Test: atest WallpaperManagerTest
Change-Id: I373760932de76ea89b890e64fbd97fa43600103c
