diff options
author | Ricardo Cerqueira <cyanogenmod@cerqueira.org> | 2012-02-05 21:16:56 +0000 |
---|---|---|
committer | Ricardo Cerqueira <cyanogenmod@cerqueira.org> | 2012-02-05 21:16:56 +0000 |
commit | 159ddccc7b44f727d80274c546b4d6a7cbe47541 (patch) | |
tree | 0de382d683ff435f0879579b47089a4b18f5ba6d | |
parent | c94b4980189da5d996a743acb8b231ecf8cff1e5 (diff) | |
download | frameworks_base-159ddccc7b44f727d80274c546b4d6a7cbe47541.zip frameworks_base-159ddccc7b44f727d80274c546b4d6a7cbe47541.tar.gz frameworks_base-159ddccc7b44f727d80274c546b4d6a7cbe47541.tar.bz2 |
Don't animate rotations when screen is off
Avoid error loops like these:
W/WindowManager( 1744): Animation repeat aborted after too many iterations
W/WindowManager( 1744): Layout repeat skipped after too many iterations
W/WindowManager( 1744): Layout repeat skipped after too many iterations
W/WindowManager( 1744): Layout repeat skipped after too many iterations
W/WindowManager( 1744): Animation repeat aborted after too many iterations
W/WindowManager( 1744): Layout repeat skipped after too many iterations
which happened mostly when the screen was turned off while a landscape
app was active.
Change-Id: Idce8fc0049758e50aaf9bc3f93aff45758ed30c1
-rw-r--r-- | services/java/com/android/server/WindowManagerService.java | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/services/java/com/android/server/WindowManagerService.java b/services/java/com/android/server/WindowManagerService.java index ecf7028..75ca1f6 100644 --- a/services/java/com/android/server/WindowManagerService.java +++ b/services/java/com/android/server/WindowManagerService.java @@ -4588,7 +4588,7 @@ public class WindowManagerService extends IWindowManager.Stub Slog.i(TAG, "Setting rotation to " + rotation + ", animFlags=" + animFlags); mInputManager.setDisplayOrientation(0, rotation); if (mDisplayEnabled) { - if (CUSTOM_SCREEN_ROTATION) { + if (CUSTOM_SCREEN_ROTATION && mPolicy.isScreenOn()) { Surface.freezeDisplay(0); Surface.openTransaction(); if (mScreenRotationAnimation != null) { @@ -10118,7 +10118,7 @@ public class WindowManagerService extends IWindowManager.Stub Debug.startMethodTracing(file.toString(), 8 * 1024 * 1024); } - if (CUSTOM_SCREEN_ROTATION) { + if (CUSTOM_SCREEN_ROTATION && mPolicy.isScreenOn()) { if (mScreenRotationAnimation != null && mScreenRotationAnimation.isAnimating()) { mScreenRotationAnimation.kill(); mScreenRotationAnimation = null; @@ -10149,7 +10149,7 @@ public class WindowManagerService extends IWindowManager.Stub Debug.stopMethodTracing(); } - if (CUSTOM_SCREEN_ROTATION) { + if (CUSTOM_SCREEN_ROTATION && mPolicy.isScreenOn()) { if (mScreenRotationAnimation != null) { if (mScreenRotationAnimation.dismiss(MAX_ANIMATION_DURATION, mTransitionAnimationScale)) { |