summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/java/android/view/ViewRootImpl.java13
1 files changed, 13 insertions, 0 deletions
diff --git a/core/java/android/view/ViewRootImpl.java b/core/java/android/view/ViewRootImpl.java
index 19b1cf3c86ba..48bdcb2e6720 100644
--- a/core/java/android/view/ViewRootImpl.java
+++ b/core/java/android/view/ViewRootImpl.java
@@ -1814,6 +1814,19 @@ public final class ViewRootImpl implements ViewParent,
+ mAttachInfo.mVisibleInsets);
}
+ // If any of the insets changed, do a forceLayout on the view so that the
+ // measure cache is cleared. We might have a pending MSG_RESIZED_REPORT
+ // that is supposed to take care of it, but since pending insets are
+ // already modified here, it won't detect the frame change after this.
+ final boolean framesChanged = overscanInsetsChanged
+ || contentInsetsChanged
+ || stableInsetsChanged
+ || visibleInsetsChanged
+ || outsetsChanged;
+ if (mAdded && mView != null && framesChanged) {
+ forceLayout(mView);
+ }
+
if (!hadSurface) {
if (mSurface.isValid()) {
// If we are creating a new surface, then we need to