From 95813a4921022aa3da77cdc3b6e0429beaf09dcb Mon Sep 17 00:00:00 2001 From: Ming-Shin Lu Date: Sat, 27 May 2023 15:37:15 +0000 Subject: Use CounterRotator for wallpaper animation targets when unlocking To avoid seeing the portrait wallpaper being placed on the Landscape display bounds without fiting the screen when unlocking keyguard in phone devices from Portrait to Landscape mode, Using CounterRotator to ensure the closing wallpaper orientation unchanged during transition animation for fixing this flicker case. See: http://recall/-/bN53iXCwu0DIehsmJlTyWk/craq03f8iJXcaFXGWR8mBM Bug: 283963801 Test: atest WMShellFlickerTests:UnlockKeyguardToSplitScreen \ --rerun-until failure 10 Test: manual by issue steps: 1) Launch apps to enter split-screen mode 2) Turn off/on the screen with power key to show the lockscreen 3) Rotate the device in landscape 4) Swipe up to dismiss the lockscreen 5) Expect the split-tasks animates fade-in without seeing a weird cross-fade out animation on top of the split-tasks Change-Id: I50550fd2a7fc488d743794fb1044dfe9d126521a --- .../src/com/android/wm/shell/keyguard/KeyguardTransitionHandler.java | 3 +++ .../wm/shell/flicker/splitscreen/UnlockKeyguardToSplitScreen.kt | 3 --- 2 files changed, 3 insertions(+), 3 deletions(-) (limited to 'libs') diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/keyguard/KeyguardTransitionHandler.java b/libs/WindowManager/Shell/src/com/android/wm/shell/keyguard/KeyguardTransitionHandler.java index 25e940129081..25ecbc598985 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/keyguard/KeyguardTransitionHandler.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/keyguard/KeyguardTransitionHandler.java @@ -185,6 +185,9 @@ public class KeyguardTransitionHandler implements Transitions.TransitionHandler @Override public void onTransitionFinished( WindowContainerTransaction wct, SurfaceControl.Transaction sct) { + if (sct != null) { + finishTransaction.merge(sct); + } mMainExecutor.execute(() -> { mStartedTransitions.remove(transition); finishCallback.onTransitionFinished(wct, null); diff --git a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/splitscreen/UnlockKeyguardToSplitScreen.kt b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/splitscreen/UnlockKeyguardToSplitScreen.kt index e0dbfa3853cc..676c150815ad 100644 --- a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/splitscreen/UnlockKeyguardToSplitScreen.kt +++ b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/splitscreen/UnlockKeyguardToSplitScreen.kt @@ -18,7 +18,6 @@ package com.android.wm.shell.flicker.splitscreen import android.platform.test.annotations.Postsubmit import android.tools.common.NavBar -import android.tools.common.Rotation import android.tools.common.flicker.subject.region.RegionSubject import android.tools.device.flicker.junit.FlickerParametersRunnerFactory import android.tools.device.flicker.legacy.FlickerBuilder @@ -105,8 +104,6 @@ class UnlockKeyguardToSplitScreen(override val flicker: FlickerTest) : @JvmStatic fun getParams(): List { return FlickerTestFactory.nonRotationTests( - // TODO(b/283963801) address entireScreenCovered test faliure in landscape. - supportedRotations = listOf(Rotation.ROTATION_0), supportedNavigationModes = listOf(NavBar.MODE_GESTURAL) ) } -- cgit v1.2.3-59-g8ed1b