From c86a84fd9e83b8592a72110a4cfb91f6337695f2 Mon Sep 17 00:00:00 2001 From: Mark Renouf Date: Fri, 16 Apr 2021 12:53:38 -0400 Subject: Enforce mutual exclusivity in setScrollCaptureHint This change causes HINT_EXCLUDE to take precedence over HINT_INLUDE when both are present. Test: atest ViewGroupScrollCaptureTest Bug: 184370898 Change-Id: Ie4779067c3db82c65816dc4a5129badf74b3c9b4 --- core/java/android/view/View.java | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'core/java/android/view/View.java') diff --git a/core/java/android/view/View.java b/core/java/android/view/View.java index d6b5a2c299e9..de598dbd9f7d 100644 --- a/core/java/android/view/View.java +++ b/core/java/android/view/View.java @@ -30143,6 +30143,10 @@ public class View implements Drawable.Callback, KeyEvent.Callback, */ public void setScrollCaptureHint(@ScrollCaptureHint int hint) { mPrivateFlags4 &= ~PFLAG4_SCROLL_CAPTURE_HINT_MASK; + // Since include/exclude are mutually exclusive, exclude takes precedence. + if ((hint & SCROLL_CAPTURE_HINT_EXCLUDE) != 0) { + hint &= ~SCROLL_CAPTURE_HINT_INCLUDE; + } mPrivateFlags4 |= ((hint << PFLAG4_SCROLL_CAPTURE_HINT_SHIFT) & PFLAG4_SCROLL_CAPTURE_HINT_MASK); } -- cgit v1.2.3