diff options
| -rw-r--r-- | services/core/java/com/android/server/wm/WindowState.java | 10 | ||||
| -rw-r--r-- | services/core/java/com/android/server/wm/WindowToken.java | 9 |
2 files changed, 10 insertions, 9 deletions
diff --git a/services/core/java/com/android/server/wm/WindowState.java b/services/core/java/com/android/server/wm/WindowState.java index f18f6e95efa4..81af78e5ce25 100644 --- a/services/core/java/com/android/server/wm/WindowState.java +++ b/services/core/java/com/android/server/wm/WindowState.java @@ -2989,15 +2989,7 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP return (mAttrs.flags & FLAG_SHOW_WHEN_LOCKED) != 0; } - @Override - void resolveOverrideConfiguration(Configuration newParentConfig) { - super.resolveOverrideConfiguration(newParentConfig); - if (mActivityRecord != null) { - // Let the activity decide whether to apply the size override. - return; - } - final Configuration resolvedConfig = getResolvedOverrideConfiguration(); - resolvedConfig.seq = newParentConfig.seq; + void applySizeOverride(Configuration newParentConfig, Configuration resolvedConfig) { applySizeOverrideIfNeeded( getDisplayContent(), mSession.mProcess.mInfo, diff --git a/services/core/java/com/android/server/wm/WindowToken.java b/services/core/java/com/android/server/wm/WindowToken.java index 44e237aa27de..004f406035c0 100644 --- a/services/core/java/com/android/server/wm/WindowToken.java +++ b/services/core/java/com/android/server/wm/WindowToken.java @@ -672,6 +672,15 @@ class WindowToken extends WindowContainer<WindowState> { getResolvedOverrideConfiguration().updateFrom( mFixedRotationTransformState.mRotatedOverrideConfiguration); } + if (asActivityRecord() == null) { + // Let ActivityRecord override the config if there is one. Otherwise, override here. + // Resolve WindowToken's configuration by the latest window. + final WindowState win = getTopChild(); + if (win != null) { + final Configuration resolvedConfig = getResolvedOverrideConfiguration(); + win.applySizeOverride(newParentConfig, resolvedConfig); + } + } } @Override |