diff options
| -rw-r--r-- | core/java/android/view/GestureExclusionTracker.java | 5 | ||||
| -rw-r--r-- | core/java/android/view/View.java | 1 |
2 files changed, 4 insertions, 2 deletions
diff --git a/core/java/android/view/GestureExclusionTracker.java b/core/java/android/view/GestureExclusionTracker.java index 6fcdd714f827..fcc14c196730 100644 --- a/core/java/android/view/GestureExclusionTracker.java +++ b/core/java/android/view/GestureExclusionTracker.java @@ -44,7 +44,7 @@ class GestureExclusionTracker { while (i.hasNext()) { final GestureExclusionViewInfo info = i.next(); final View v = info.getView(); - if (v == null || !v.isAttachedToWindow()) { + if (v == null || !v.isAttachedToWindow() || !v.isShown()) { mGestureExclusionViewsChanged = true; i.remove(); continue; @@ -122,7 +122,8 @@ class GestureExclusionTracker { public int update() { final View excludedView = getView(); - if (excludedView == null || !excludedView.isAttachedToWindow()) return GONE; + if (excludedView == null || !excludedView.isAttachedToWindow() + || !excludedView.isShown()) return GONE; final List<Rect> localRects = excludedView.getSystemGestureExclusionRects(); final List<Rect> newRects = new ArrayList<>(localRects.size()); for (Rect src : localRects) { diff --git a/core/java/android/view/View.java b/core/java/android/view/View.java index 4e86e60fdd62..9c55bb065d41 100644 --- a/core/java/android/view/View.java +++ b/core/java/android/view/View.java @@ -14423,6 +14423,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback, } notifyAppearedOrDisappearedForContentCaptureIfNeeded(isVisible); + updateSystemGestureExclusionRects(); } /** |