diff options
| author | 2022-08-16 14:56:01 +0000 | |
|---|---|---|
| committer | 2022-08-19 10:14:45 +0000 | |
| commit | ed28faef53a74414f213e9e9d1c524808bfc8aba (patch) | |
| tree | deadba3a60feec3c0da62daccf26c8e81d0c0352 | |
| parent | f73a7285093565efcdd8bce37d5981cb510d771a (diff) | |
Add constraints to window duration scale
Ensure that all uses of WINDOW_DURATION_SCALE are bounded between 0
and 20.
Bug: 238178261
Test: adb shell dumpsys window windows | grep "Animation setting"
Change-Id: I36ea0ffce662fea7b3e02e9f13caaea9e5ecf54b
| -rw-r--r-- | services/core/java/com/android/server/wm/WindowManagerService.java | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/services/core/java/com/android/server/wm/WindowManagerService.java b/services/core/java/com/android/server/wm/WindowManagerService.java index bd67f97611b4..8d20270e3a6a 100644 --- a/services/core/java/com/android/server/wm/WindowManagerService.java +++ b/services/core/java/com/android/server/wm/WindowManagerService.java @@ -1324,8 +1324,7 @@ public class WindowManagerService extends IWindowManager.Stub }, UserHandle.ALL, suspendPackagesFilter, null, null); // Get persisted window scale setting - mWindowAnimationScaleSetting = Settings.Global.getFloat(resolver, - Settings.Global.WINDOW_ANIMATION_SCALE, mWindowAnimationScaleSetting); + mWindowAnimationScaleSetting = getWindowAnimationScaleSetting(); mTransitionAnimationScaleSetting = getTransitionAnimationScaleSetting(); setAnimatorDurationScale(getAnimatorDurationScaleSetting()); @@ -1413,6 +1412,11 @@ public class WindowManagerService extends IWindowManager.Stub Settings.Global.ANIMATOR_DURATION_SCALE, mAnimatorDurationScaleSetting)); } + private float getWindowAnimationScaleSetting() { + return fixScale(Settings.Global.getFloat(mContext.getContentResolver(), + Settings.Global.WINDOW_ANIMATION_SCALE, mWindowAnimationScaleSetting)); + } + /** * Called after all entities (such as the {@link ActivityManagerService}) have been set up and * associated with the {@link WindowManagerService}. @@ -5327,10 +5331,7 @@ public class WindowManagerService extends IWindowManager.Stub final int mode = msg.arg1; switch (mode) { case WINDOW_ANIMATION_SCALE: { - mWindowAnimationScaleSetting = Settings.Global.getFloat( - mContext.getContentResolver(), - Settings.Global.WINDOW_ANIMATION_SCALE, - mWindowAnimationScaleSetting); + mWindowAnimationScaleSetting = getWindowAnimationScaleSetting(); break; } case TRANSITION_ANIMATION_SCALE: { |