diff options
| -rw-r--r-- | services/core/java/com/android/server/wm/ActivityTaskManagerService.java | 3 | ||||
| -rw-r--r-- | services/core/java/com/android/server/wm/DisplayContent.java | 3 |
2 files changed, 5 insertions, 1 deletions
diff --git a/services/core/java/com/android/server/wm/ActivityTaskManagerService.java b/services/core/java/com/android/server/wm/ActivityTaskManagerService.java index 081c618b62aa..1652c3b2a9a7 100644 --- a/services/core/java/com/android/server/wm/ActivityTaskManagerService.java +++ b/services/core/java/com/android/server/wm/ActivityTaskManagerService.java @@ -4066,6 +4066,9 @@ public class ActivityTaskManagerService extends IActivityTaskManager.Stub { final long origId = Binder.clearCallingIdentity(); try { synchronized (mGlobalLock) { + // Window configuration is unrelated to persistent configuration (e.g. font scale, + // locale). Unset it to avoid affecting the current display configuration. + values.windowConfiguration.setToDefaults(); updateConfigurationLocked(values, null, false, true, userId, false /* deferResume */); } diff --git a/services/core/java/com/android/server/wm/DisplayContent.java b/services/core/java/com/android/server/wm/DisplayContent.java index b110d8d44fc5..7438fa3456e3 100644 --- a/services/core/java/com/android/server/wm/DisplayContent.java +++ b/services/core/java/com/android/server/wm/DisplayContent.java @@ -5693,7 +5693,8 @@ class DisplayContent extends RootDisplayArea implements WindowManagerPolicy.Disp final Configuration currOverrideConfig = getRequestedOverrideConfiguration(); final int currRotation = currOverrideConfig.windowConfiguration.getRotation(); final int overrideRotation = overrideConfiguration.windowConfiguration.getRotation(); - if (currRotation != ROTATION_UNDEFINED && currRotation != overrideRotation) { + if (currRotation != ROTATION_UNDEFINED && overrideRotation != ROTATION_UNDEFINED + && currRotation != overrideRotation) { applyRotationAndFinishFixedRotation(currRotation, overrideRotation); } mCurrentOverrideConfigurationChanges = currOverrideConfig.diff(overrideConfiguration); |