summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Yunfan Chen <yunfanc@google.com> 2022-10-25 04:41:06 +0000
committer Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> 2022-10-25 04:41:06 +0000
commit9077b6461b912934b78ec6605d56e6633942f77a (patch)
tree14a25e716ae2e58e26a99f57e3712474ce80bf0b
parent297cc8e00a2529334e08b7c00737c60684ad7d4c (diff)
parent55d205a717fc0f00ae77de33336b966a9ef81fb1 (diff)
Merge "Clear cached override frame when window removed" into tm-qpr-dev am: f58e5c1683 am: 55d205a717
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/20187123 Change-Id: I1661e17cea93889eff2a9e2212323efe662e1136 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r--services/core/java/com/android/server/wm/InsetsSourceProvider.java3
1 files changed, 3 insertions, 0 deletions
diff --git a/services/core/java/com/android/server/wm/InsetsSourceProvider.java b/services/core/java/com/android/server/wm/InsetsSourceProvider.java
index bf4b65da8b43..3a8fbbbaa77d 100644
--- a/services/core/java/com/android/server/wm/InsetsSourceProvider.java
+++ b/services/core/java/com/android/server/wm/InsetsSourceProvider.java
@@ -173,6 +173,7 @@ abstract class InsetsSourceProvider {
mWindowContainer = windowContainer;
// TODO: remove the frame provider for non-WindowState container.
mFrameProvider = frameProvider;
+ mOverrideFrames.clear();
mOverrideFrameProviders = overrideFrameProviders;
if (windowContainer == null) {
setServerVisible(false);
@@ -234,6 +235,8 @@ abstract class InsetsSourceProvider {
updateSourceFrameForServerVisibility();
if (mOverrideFrameProviders != null) {
+ // Not necessary to clear the mOverrideFrames here. It will be cleared every time the
+ // override frame provider updates.
for (int i = mOverrideFrameProviders.size() - 1; i >= 0; i--) {
final int windowType = mOverrideFrameProviders.keyAt(i);
final Rect overrideFrame;