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: I38e1f2bebfaba00cf046cedbe51dc38bd4b83adf
This commit is contained in:
Ned Burns
2020-07-08 20:26:10 +00:00
committed by Automerger Merge Worker

View File

@@ -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);