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

Commit b85d7509 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Fix regression in updating gesture exclusion rects" into qt-qpr1-dev

parents 79243ed6 05a36465
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -44,7 +44,7 @@ class GestureExclusionTracker {
        while (i.hasNext()) {
            final GestureExclusionViewInfo info = i.next();
            final View v = info.getView();
            if (v == null || !v.isAttachedToWindow() || !v.isShown()) {
            if (v == null || !v.isAttachedToWindow() || !v.isAggregatedVisible()) {
                mGestureExclusionViewsChanged = true;
                i.remove();
                continue;
@@ -123,7 +123,7 @@ class GestureExclusionTracker {
        public int update() {
            final View excludedView = getView();
            if (excludedView == null || !excludedView.isAttachedToWindow()
                    || !excludedView.isShown()) return GONE;
                    || !excludedView.isAggregatedVisible()) return GONE;
            final List<Rect> localRects = excludedView.getSystemGestureExclusionRects();
            final List<Rect> newRects = new ArrayList<>(localRects.size());
            for (Rect src : localRects) {
+12 −2
Original line number Diff line number Diff line
@@ -14343,6 +14343,14 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
        }
    }
    /**
     * @return true if this view and all ancestors are visible as of the last
     * {@link #onVisibilityAggregated(boolean)} call.
     */
    boolean isAggregatedVisible() {
        return (mPrivateFlags3 & PFLAG3_AGGREGATED_VISIBLE) != 0;
    }
    /**
     * Internal dispatching method for {@link #onVisibilityAggregated}. Overridden by
     * ViewGroup. Intended to only be called when {@link #isAttachedToWindow()},
@@ -14371,7 +14379,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
    @CallSuper
    public void onVisibilityAggregated(boolean isVisible) {
        // Update our internal visibility tracking so we can detect changes
        boolean oldVisible = (mPrivateFlags3 & PFLAG3_AGGREGATED_VISIBLE) != 0;
        boolean oldVisible = isAggregatedVisible();
        mPrivateFlags3 = isVisible ? (mPrivateFlags3 | PFLAG3_AGGREGATED_VISIBLE)
                : (mPrivateFlags3 & ~PFLAG3_AGGREGATED_VISIBLE);
        if (isVisible && mAttachInfo != null) {
@@ -14423,8 +14431,10 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
        }
        notifyAppearedOrDisappearedForContentCaptureIfNeeded(isVisible);
        if (isVisible != oldVisible) {
            updateSystemGestureExclusionRects();
        }
    }
    /**
     * Returns the current visibility of the window this view is attached to