Merge "Handle duplicate DOWN event" into sc-qpr1-dev am: 6ce3c76c24

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/15887942

Change-Id: I7dd0f6928ae556b7c02f46bb0a887af279518df5
This commit is contained in:
Matt Pietal
2021-09-23 17:33:15 +00:00
committed by Automerger Merge Worker

View File

@@ -3885,6 +3885,9 @@ public class NotificationPanelViewController extends PanelViewController {
@Override
protected TouchHandler createTouchHandler() {
return new TouchHandler() {
private long mLastTouchDownTime = -1L;
@Override
public boolean onInterceptTouchEvent(MotionEvent event) {
if (mBlockTouches || mQsFullyExpanded && mQs.disallowPanelTouches()) {
@@ -3914,6 +3917,19 @@ public class NotificationPanelViewController extends PanelViewController {
@Override
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
if (event.getDownTime() == mLastTouchDownTime) {
// An issue can occur when swiping down after unlock, where multiple down
// events are received in this handler with identical downTimes. Until the
// source of the issue can be located, detect this case and ignore.
// see b/193350347
Log.w(TAG, "Duplicate down event detected... ignoring");
return true;
}
mLastTouchDownTime = event.getDownTime();
}
if (mBlockTouches || (mQsFullyExpanded && mQs != null
&& mQs.disallowPanelTouches())) {
return false;