Only intercept lockIcon touches after longpress
All other touches should be let through to NPV in case the user starts to swipe up from the lock icon We still want to continue intercepting touches after a long press so that the NPV won't mistakenly handle the touch + expand the shade after a longpress. Test: manual Fixes: 193614314 Change-Id: I060f6f78c373a726fe4dbe1be5b5413364882e1d
This commit is contained in:
@@ -119,6 +119,7 @@ public class LockIconViewController extends ViewController<LockIconView> impleme
|
||||
private boolean mShowLockIcon;
|
||||
|
||||
private boolean mDownDetected;
|
||||
private boolean mDetectedLongPress;
|
||||
private final Rect mSensorTouchLocation = new Rect();
|
||||
|
||||
@Inject
|
||||
@@ -485,6 +486,7 @@ public class LockIconViewController extends ViewController<LockIconView> impleme
|
||||
private final GestureDetector mGestureDetector =
|
||||
new GestureDetector(new SimpleOnGestureListener() {
|
||||
public boolean onDown(MotionEvent e) {
|
||||
mDetectedLongPress = false;
|
||||
if (!isClickable()) {
|
||||
mDownDetected = false;
|
||||
return false;
|
||||
@@ -517,6 +519,7 @@ public class LockIconViewController extends ViewController<LockIconView> impleme
|
||||
"lockIcon-onLongPress",
|
||||
VIBRATION_SONIFICATION_ATTRIBUTES);
|
||||
}
|
||||
mDetectedLongPress = true;
|
||||
onAffordanceClick();
|
||||
}
|
||||
|
||||
@@ -559,7 +562,7 @@ public class LockIconViewController extends ViewController<LockIconView> impleme
|
||||
// we continue to intercept all following touches until we see MotionEvent.ACTION_CANCEL UP
|
||||
// or MotionEvent.ACTION_UP. this is to avoid passing the touch to NPV
|
||||
// after the lock icon disappears on device entry
|
||||
if (mDownDetected) {
|
||||
if (mDownDetected && mDetectedLongPress) {
|
||||
if (event.getAction() == MotionEvent.ACTION_CANCEL
|
||||
|| event.getAction() == MotionEvent.ACTION_UP) {
|
||||
mDownDetected = false;
|
||||
|
||||
Reference in New Issue
Block a user