Disallow interception of multitouch events
The shade mishandles multitouch events when the first touch originates in the status bar, which results in the second touch being an ACTION_DOWN instead of ACTION_POINTER_DOWN. This causes multiple problems, so it's preferable to not intercept these events when we detect them. Fixes: 198553252 Test: manual and atest Change-Id: Ib420e0aa207610d5493e7db904eaf31da221a2bf
This commit is contained in:
@@ -4628,8 +4628,13 @@ public final class NotificationPanelViewController implements Dumpable {
|
||||
gesture possible. */
|
||||
int pointerIndex = event.findPointerIndex(mTrackingPointer);
|
||||
if (pointerIndex < 0) {
|
||||
pointerIndex = 0;
|
||||
mTrackingPointer = event.getPointerId(pointerIndex);
|
||||
if (mTrackingPointer < 0) {
|
||||
pointerIndex = 0;
|
||||
mTrackingPointer = event.getPointerId(pointerIndex);
|
||||
} else {
|
||||
mShadeLog.logMotionEvent(event, "Skipping intercept of multitouch pointer");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
final float x = event.getX(pointerIndex);
|
||||
final float y = event.getY(pointerIndex);
|
||||
|
||||
Reference in New Issue
Block a user