Remove flicker when unlocking + turning off screen

As soon as the screen starts turning off, powerManager.isInteractive()
becomes false. This forces the home wallpaper leash back to completely
invisible again, which creates a noticeable flicker.

Since the wallpaper is controlled through a leash, we don't have a
problem leaving it at some intermediate opacity. It will get cleaned
up and removed later.

Test: manual (unlock, power off during unlock animation)
Change-Id: I8e8cf659b1f72dd183825f3f0d27c12ddf3c59b2
This commit is contained in:
Robin Lee
2023-06-02 16:43:32 +02:00
parent 6fa9219c4a
commit 60ed09f4d8
2 changed files with 1 additions and 6 deletions

View File

@@ -902,10 +902,7 @@ class KeyguardUnlockAnimationController @Inject constructor(
}
fun setWallpaperAppearAmount(amount: Float) {
val animationAlpha = when {
!powerManager.isInteractive -> 0f
else -> amount
}
val animationAlpha = amount
wallpaperTargets?.forEach { wallpaper ->
// SyncRtSurfaceTransactionApplier cannot apply transaction when the target view is

View File

@@ -343,8 +343,6 @@ class KeyguardUnlockAnimationControllerTest : SysuiTestCase() {
// We expect that we've set the surface behind to alpha = 0f since we're not interactive.
assertEquals(0f, params.alpha)
assertTrue(params.matrix.isIdentity)
assertEquals("Wallpaper surface was expected to have opacity 0",
0f, captorWp.getLastValue().alpha)
verifyNoMoreInteractions(surfaceTransactionApplier)
}