diff options
| author | 2023-03-14 07:13:26 +0000 | |
|---|---|---|
| committer | 2023-03-14 07:13:26 +0000 | |
| commit | 8963d739434d30e94db25cb87a6ff6cee539d13c (patch) | |
| tree | 8cbce19d069121b4535e9353f4166093b3ea3896 | |
| parent | f4466a1c1b819c9c1ab18e997da873044ce94476 (diff) | |
| parent | 7a2f650ad3fd9e82c446b8981e33bcd90ba164e0 (diff) | |
Merge "Prevent flings after motion gestures on fully expanded keyguard" into tm-qpr-dev am: 6c78bab2e3 am: 7a2f650ad3
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/21895667
Change-Id: I88cc88f575112d2747ea28268cd32beeebf0c787
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/shade/NotificationPanelViewController.java | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/shade/NotificationPanelViewController.java b/packages/SystemUI/src/com/android/systemui/shade/NotificationPanelViewController.java index 587c65d44091..06426b3e5466 100644 --- a/packages/SystemUI/src/com/android/systemui/shade/NotificationPanelViewController.java +++ b/packages/SystemUI/src/com/android/systemui/shade/NotificationPanelViewController.java @@ -3581,12 +3581,15 @@ public final class NotificationPanelViewController implements Dumpable { } private void endMotionEvent(MotionEvent event, float x, float y, boolean forceCancel) { + // don't fling while in keyguard to avoid jump in shade expand animation + boolean fullyExpandedInKeyguard = mBarState == KEYGUARD && mExpandedFraction >= 1.0; mTrackingPointer = -1; mAmbientState.setSwipingUp(false); - if ((mTracking && mTouchSlopExceeded) || Math.abs(x - mInitialExpandX) > mTouchSlop + if (!fullyExpandedInKeyguard && ((mTracking && mTouchSlopExceeded) + || Math.abs(x - mInitialExpandX) > mTouchSlop || Math.abs(y - mInitialExpandY) > mTouchSlop || (!isFullyExpanded() && !isFullyCollapsed()) - || event.getActionMasked() == MotionEvent.ACTION_CANCEL || forceCancel) { + || event.getActionMasked() == MotionEvent.ACTION_CANCEL || forceCancel)) { mVelocityTracker.computeCurrentVelocity(1000); float vel = mVelocityTracker.getYVelocity(); float vectorVel = (float) Math.hypot( @@ -3634,9 +3637,9 @@ public final class NotificationPanelViewController implements Dumpable { if (mUpdateFlingOnLayout) { mUpdateFlingVelocity = vel; } - } else if (!mCentralSurfaces.isBouncerShowing() + } else if (fullyExpandedInKeyguard || (!mCentralSurfaces.isBouncerShowing() && !mAlternateBouncerInteractor.isVisibleState() - && !mKeyguardStateController.isKeyguardGoingAway()) { + && !mKeyguardStateController.isKeyguardGoingAway())) { onEmptySpaceClick(); onTrackingStopped(true); } |