summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Nick Chameyev <nickchameyev@google.com> 2021-10-20 17:14:13 +0000
committer Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> 2021-10-20 17:14:13 +0000
commit6bcc065de22ea7d71d0c9df9e833bdf2b2843397 (patch)
treeb8b90a4ffefa9c7c2435efb3b89ec010d6938b9d
parent1c3b2fa3759d32323ecb4f4b8010d10b14907a61 (diff)
parent56b94310829809ee8956a3de4165d0280db5ec6f (diff)
Merge "Do not run rotation animation when folding/unfolding" into sc-v2-dev am: 56b9431082
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/16063813 Change-Id: Ia54c1c6ff3692b0b87ce4ada2630ce74197f5d7d
-rw-r--r--services/core/java/com/android/server/wm/WindowManagerService.java4
-rw-r--r--services/tests/wmtests/src/com/android/server/wm/ActivityRecordTests.java5
2 files changed, 8 insertions, 1 deletions
diff --git a/services/core/java/com/android/server/wm/WindowManagerService.java b/services/core/java/com/android/server/wm/WindowManagerService.java
index 648ecbff9e5a..38d537792191 100644
--- a/services/core/java/com/android/server/wm/WindowManagerService.java
+++ b/services/core/java/com/android/server/wm/WindowManagerService.java
@@ -5836,7 +5836,9 @@ public class WindowManagerService extends IWindowManager.Stub
return;
}
- if (!displayContent.isReady() || !mPolicy.isScreenOn() || !displayContent.okToAnimate()) {
+ if (!displayContent.isReady() || !displayContent.getDisplayPolicy().isScreenOnFully()
+ || displayContent.getDisplayInfo().state == Display.STATE_OFF
+ || !displayContent.okToAnimate()) {
// No need to freeze the screen before the display is ready, if the screen is off,
// or we can't currently animate.
return;
diff --git a/services/tests/wmtests/src/com/android/server/wm/ActivityRecordTests.java b/services/tests/wmtests/src/com/android/server/wm/ActivityRecordTests.java
index b093974290e0..44cff33d6146 100644
--- a/services/tests/wmtests/src/com/android/server/wm/ActivityRecordTests.java
+++ b/services/tests/wmtests/src/com/android/server/wm/ActivityRecordTests.java
@@ -1752,6 +1752,11 @@ public class ActivityRecordTests extends WindowTestsBase {
anyInt() /* orientation */, anyInt() /* lastRotation */);
// Set to visible so the activity can freeze the screen.
activity.setVisibility(true);
+ // Update the display policy to make the screen fully turned on so the freeze is allowed
+ display.getDisplayPolicy().screenTurnedOn(null);
+ display.getDisplayPolicy().finishKeyguardDrawn();
+ display.getDisplayPolicy().finishWindowsDrawn();
+ display.getDisplayPolicy().finishScreenTurningOn();
display.rotateInDifferentOrientationIfNeeded(activity);
display.setFixedRotationLaunchingAppUnchecked(activity);