diff options
| -rw-r--r-- | core/java/android/view/ViewRootImpl.java | 13 |
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 |