From 023de22cf2486f6c51b789c762439b6b1f026085 Mon Sep 17 00:00:00 2001 From: Bryce Lee Date: Wed, 29 Apr 2015 18:34:44 -0700 Subject: [PATCH] Add configuration to allow animations during low power mode. On Android Wear, the stream ui needs to continue to be animated during low power mode. Bug: 20696607 Change-Id: I24a87eba8d86169d04a72012e0311357622db00a --- core/res/res/values/config.xml | 3 +++ core/res/res/values/symbols.xml | 1 + .../java/com/android/server/wm/WindowManagerService.java | 5 ++++- 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml index d3c31d78d1a94..ea1a3307a0eda 100755 --- a/core/res/res/values/config.xml +++ b/core/res/res/values/config.xml @@ -2102,4 +2102,7 @@ false + + + false diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml index a4dc155759a08..7367d95e195f4 100755 --- a/core/res/res/values/symbols.xml +++ b/core/res/res/values/symbols.xml @@ -282,6 +282,7 @@ + diff --git a/services/core/java/com/android/server/wm/WindowManagerService.java b/services/core/java/com/android/server/wm/WindowManagerService.java index 0cda6fd3cf46a..ad6aa7528d102 100644 --- a/services/core/java/com/android/server/wm/WindowManagerService.java +++ b/services/core/java/com/android/server/wm/WindowManagerService.java @@ -340,6 +340,7 @@ public class WindowManagerService extends IWindowManager.Stub final boolean mHasPermanentDpad; final long mDrawLockTimeoutMillis; + final boolean mAllowAnimationsInLowPowerMode; final boolean mAllowBootMessages; @@ -831,6 +832,8 @@ public class WindowManagerService extends IWindowManager.Stub com.android.internal.R.bool.config_defaultInTouchMode); mDrawLockTimeoutMillis = context.getResources().getInteger( com.android.internal.R.integer.config_drawLockTimeoutMillis); + mAllowAnimationsInLowPowerMode = context.getResources().getBoolean( + com.android.internal.R.bool.config_allowAnimationsInLowPowerMode); mInputManager = inputManager; // Must be before createDisplayContentLocked. mDisplayManagerInternal = LocalServices.getService(DisplayManagerInternal.class); mDisplaySettings = new DisplaySettings(); @@ -856,7 +859,7 @@ public class WindowManagerService extends IWindowManager.Stub @Override public void onLowPowerModeChanged(boolean enabled) { synchronized (mWindowMap) { - if (mAnimationsDisabled != enabled) { + if (mAnimationsDisabled != enabled && !mAllowAnimationsInLowPowerMode) { mAnimationsDisabled = enabled; dispatchNewAnimatorScaleLocked(null); }