Merge "Handle duplicate DOWN event" into sc-qpr1-dev

This commit is contained in:
Matt Pietal
2021-09-23 17:30:40 +00:00
committed by Android (Google) Code Review

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;