Loading core/java/android/view/View.java +5 −0 Original line number Diff line number Diff line Loading @@ -18867,6 +18867,11 @@ public class View implements Drawable.Callback, KeyEvent.Callback, final ViewTreeObserver.InternalInsetsInfo mGivenInternalInsets = new ViewTreeObserver.InternalInsetsInfo(); /** * Set to true when mGivenInternalInsets is non-empty. */ boolean mHasNonEmptyGivenInternalInsets; /** * All views in the window's hierarchy that serve as scroll containers, * used to determine if the window can be resized or must be panned core/java/android/view/ViewRootImpl.java +6 −1 Original line number Diff line number Diff line Loading @@ -1348,8 +1348,12 @@ public final class ViewRootImpl implements ViewParent, || (lp.height == ViewGroup.LayoutParams.WRAP_CONTENT && frame.height() < desiredWindowHeight && frame.height() != mHeight)); // Determine whether to compute insets. // If there are no inset listeners remaining then we may still need to compute // insets in case the old insets were non-empty and must be reset. final boolean computesInternalInsets = attachInfo.mTreeObserver.hasComputeInternalInsetsListeners(); attachInfo.mTreeObserver.hasComputeInternalInsetsListeners() || attachInfo.mHasNonEmptyGivenInternalInsets; boolean insetsPending = false; int relayoutResult = 0; Loading Loading @@ -1764,6 +1768,7 @@ public final class ViewRootImpl implements ViewParent, // Compute new insets in place. attachInfo.mTreeObserver.dispatchOnComputeInternalInsets(insets); attachInfo.mHasNonEmptyGivenInternalInsets = !insets.isEmpty(); // Tell the window manager. if (insetsPending || !mLastGivenInsets.equals(insets)) { Loading core/java/android/view/ViewTreeObserver.java +7 −0 Original line number Diff line number Diff line Loading @@ -241,6 +241,13 @@ public final class ViewTreeObserver { mTouchableInsets = TOUCHABLE_INSETS_FRAME; } boolean isEmpty() { return contentInsets.isEmpty() && visibleInsets.isEmpty() && touchableRegion.isEmpty() && mTouchableInsets == TOUCHABLE_INSETS_FRAME; } @Override public int hashCode() { int result = contentInsets.hashCode(); Loading Loading
core/java/android/view/View.java +5 −0 Original line number Diff line number Diff line Loading @@ -18867,6 +18867,11 @@ public class View implements Drawable.Callback, KeyEvent.Callback, final ViewTreeObserver.InternalInsetsInfo mGivenInternalInsets = new ViewTreeObserver.InternalInsetsInfo(); /** * Set to true when mGivenInternalInsets is non-empty. */ boolean mHasNonEmptyGivenInternalInsets; /** * All views in the window's hierarchy that serve as scroll containers, * used to determine if the window can be resized or must be panned
core/java/android/view/ViewRootImpl.java +6 −1 Original line number Diff line number Diff line Loading @@ -1348,8 +1348,12 @@ public final class ViewRootImpl implements ViewParent, || (lp.height == ViewGroup.LayoutParams.WRAP_CONTENT && frame.height() < desiredWindowHeight && frame.height() != mHeight)); // Determine whether to compute insets. // If there are no inset listeners remaining then we may still need to compute // insets in case the old insets were non-empty and must be reset. final boolean computesInternalInsets = attachInfo.mTreeObserver.hasComputeInternalInsetsListeners(); attachInfo.mTreeObserver.hasComputeInternalInsetsListeners() || attachInfo.mHasNonEmptyGivenInternalInsets; boolean insetsPending = false; int relayoutResult = 0; Loading Loading @@ -1764,6 +1768,7 @@ public final class ViewRootImpl implements ViewParent, // Compute new insets in place. attachInfo.mTreeObserver.dispatchOnComputeInternalInsets(insets); attachInfo.mHasNonEmptyGivenInternalInsets = !insets.isEmpty(); // Tell the window manager. if (insetsPending || !mLastGivenInsets.equals(insets)) { Loading
core/java/android/view/ViewTreeObserver.java +7 −0 Original line number Diff line number Diff line Loading @@ -241,6 +241,13 @@ public final class ViewTreeObserver { mTouchableInsets = TOUCHABLE_INSETS_FRAME; } boolean isEmpty() { return contentInsets.isEmpty() && visibleInsets.isEmpty() && touchableRegion.isEmpty() && mTouchableInsets == TOUCHABLE_INSETS_FRAME; } @Override public int hashCode() { int result = contentInsets.hashCode(); Loading