diff options
| author | 2020-07-08 20:26:12 +0000 | |
|---|---|---|
| committer | 2020-07-08 20:26:12 +0000 | |
| commit | c5b199e721035f08cab016d61cedbd7d6eb9de7f (patch) | |
| tree | 0338d6828efa514153a9ad1b096532adb49a44bf | |
| parent | 1b41bd753fc605923d69588a10d7c7cbd3567cdf (diff) | |
| parent | aefe27727110d4005f6e6b58dc3c03a1829e2749 (diff) | |
Merge "Collapse shade on ACTION_CANCEL (sometimes)" into rvc-dev am: aefe277271
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/12100345
Change-Id: I971130b59614a33130f5237e71cd86896281c692
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/statusbar/phone/PanelViewController.java | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PanelViewController.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PanelViewController.java index 732f25f90eb5..e942d85790c1 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PanelViewController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PanelViewController.java @@ -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); |