summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xcore/res/res/values/config.xml3
-rwxr-xr-xcore/res/res/values/symbols.xml1
-rw-r--r--services/core/java/com/android/server/wm/WindowManagerService.java5
3 files changed, 8 insertions, 1 deletions
diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml
index 0b8b280..7270b2c 100755
--- a/core/res/res/values/config.xml
+++ b/core/res/res/values/config.xml
@@ -2138,4 +2138,7 @@
<!-- This config is used to force VoiceInteractionService to start on certain low ram devices. -->
<bool name="config_forceEnableVoiceInteractionService">false</bool>
+
+ <!-- This config is ued to determine whether animations are allowed in low power mode. -->
+ <bool name="config_allowAnimationsInLowPowerMode">false</bool>
</resources>
diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml
index 50d2f80..f8d276f 100755
--- a/core/res/res/values/symbols.xml
+++ b/core/res/res/values/symbols.xml
@@ -281,6 +281,7 @@
<java-symbol type="bool" name="config_bluetooth_default_profiles" />
<java-symbol type="bool" name="config_enableWifiDisplay" />
<java-symbol type="bool" name="config_forceEnableVoiceInteractionService" />
+ <java-symbol type="bool" name="config_allowAnimationsInLowPowerMode" />
<java-symbol type="bool" name="config_useDevInputEventForAudioJack" />
<java-symbol type="bool" name="config_safe_media_volume_enabled" />
<java-symbol type="bool" name="config_camera_sound_forced" />
diff --git a/services/core/java/com/android/server/wm/WindowManagerService.java b/services/core/java/com/android/server/wm/WindowManagerService.java
index d4b3dab..6bf68e8 100644
--- a/services/core/java/com/android/server/wm/WindowManagerService.java
+++ b/services/core/java/com/android/server/wm/WindowManagerService.java
@@ -332,6 +332,7 @@ public class WindowManagerService extends IWindowManager.Stub
final boolean mHasPermanentDpad;
final long mDrawLockTimeoutMillis;
+ final boolean mAllowAnimationsInLowPowerMode;
final boolean mAllowBootMessages;
@@ -899,6 +900,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();
@@ -924,7 +927,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);
}