Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cde9224b authored by Beverly's avatar Beverly Committed by Beverly Tai
Browse files

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
parent 6522a732
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -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;