summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRicardo Cerqueira <cyanogenmod@cerqueira.org>2012-02-05 21:16:56 +0000
committerRicardo Cerqueira <cyanogenmod@cerqueira.org>2012-02-05 21:16:56 +0000
commit159ddccc7b44f727d80274c546b4d6a7cbe47541 (patch)
tree0de382d683ff435f0879579b47089a4b18f5ba6d
parentc94b4980189da5d996a743acb8b231ecf8cff1e5 (diff)
downloadframeworks_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.java6
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)) {