Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d09d5f9e authored by Jeff Brown's avatar Jeff Brown Committed by Android Git Automerger
Browse files

am 10478213: am 5e65adaf: Merge "Reset insets when inset computer is removed." into klp-dev

* commit '10478213':
  Reset insets when inset computer is removed.
parents b8aa1227 10478213
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -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
+6 −1
Original line number Diff line number Diff line
@@ -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;
@@ -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)) {
+7 −0
Original line number Diff line number Diff line
@@ -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();