summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Jeff DeCew <jeffdq@google.com> 2022-05-18 18:32:05 +0000
committer Jeff DeCew <jeffdq@google.com> 2022-05-18 18:33:03 +0000
commitbe33a715bf781c81ef16dd8a80e426923a78ac65 (patch)
treee59df66f45b05fd9e0cb48dd5b21110e3a04b95a
parent34b4ebd89a588219addbcc63b39d6f35e4352fda (diff)
Fix notifications accepting touches outside their bounds
I have confirmed that this bug is the result of the ENR's mClipTopAmount being negative, but I am not certain why; my best guess is that the launch animation is causing this value to be set to a negative value, and that it's not cleaning up at the end of the animation. However, that alone isn't enough to explain why this can keep happening on subsequent taps, so more investigation is needed there. On the other hand, this is the safest way to fix the tap issue without risking the introduction of other bugs. Test: manual testing using breakpoint evaluation to apply the logic change while in the bad state Fixes: 230080345 Change-Id: I3dec0e99111777ca37eddf79a33487fc0c8dc99c
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/notification/row/ExpandableView.java2
1 files changed, 1 insertions, 1 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/ExpandableView.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/ExpandableView.java
index 22a6b0a4bae4..929dda60b1b7 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/ExpandableView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/ExpandableView.java
@@ -157,7 +157,7 @@ public abstract class ExpandableView extends FrameLayout implements Dumpable {
@Override
public boolean pointInView(float localX, float localY, float slop) {
- float top = mClipTopAmount;
+ float top = Math.max(0, mClipTopAmount);
float bottom = mActualHeight;
return localX >= -slop && localY >= top - slop && localX < ((mRight - mLeft) + slop) &&
localY < (bottom + slop);