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

Commit c5b199e7 authored by Ned Burns's avatar Ned Burns Committed by Automerger Merge Worker
Browse files

Merge "Collapse shade on ACTION_CANCEL (sometimes)" into rvc-dev am: aefe2772

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

Change-Id: I971130b59614a33130f5237e71cd86896281c692
parents 1b41bd75 aefe2772
Loading
Loading
Loading
Loading
+17 −3
Original line number Diff line number Diff line
@@ -371,12 +371,26 @@ public abstract class PanelViewController {
            float vectorVel = (float) Math.hypot(
                    mVelocityTracker.getXVelocity(), mVelocityTracker.getYVelocity());

            boolean expand = flingExpands(vel, vectorVel, x, y)
                    || event.getActionMasked() == MotionEvent.ACTION_CANCEL || forceCancel;
            final boolean onKeyguard =
                    mStatusBarStateController.getState() == StatusBarState.KEYGUARD;

            final boolean expand;
            if (event.getActionMasked() == MotionEvent.ACTION_CANCEL || forceCancel) {
                // If we get a cancel, put the shade back to the state it was in when the gesture
                // started
                if (onKeyguard) {
                    expand = true;
                } else {
                    expand = !mPanelClosedOnDown;
                }
            } else {
                expand = flingExpands(vel, vectorVel, x, y);
            }

            mDozeLog.traceFling(expand, mTouchAboveFalsingThreshold,
                    mStatusBar.isFalsingThresholdNeeded(), mStatusBar.isWakeUpComingFromTouch());
            // Log collapse gesture if on lock screen.
            if (!expand && mStatusBarStateController.getState() == StatusBarState.KEYGUARD) {
            if (!expand && onKeyguard) {
                float displayDensity = mStatusBar.getDisplayDensity();
                int heightDp = (int) Math.abs((y - mInitialTouchY) / displayDensity);
                int velocityDp = (int) Math.abs(vel / displayDensity);