Merge "Fixed an issue where the phone would be stuck pulseExpanding" into sc-dev am: 17a6678d78

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

Change-Id: I644ca6a03a5c1a5153ecf7ce000918c06e3157c2
This commit is contained in:
Selim Cinek
2021-06-29 17:54:55 +00:00
committed by Automerger Merge Worker
2 changed files with 11 additions and 3 deletions

View File

@@ -179,7 +179,10 @@ constructor(
}
override fun onTouchEvent(event: MotionEvent): Boolean {
if (!canHandleMotionEvent()) {
val finishExpanding = (event.action == MotionEvent.ACTION_CANCEL ||
event.action == MotionEvent.ACTION_UP) && isExpanding
if (!canHandleMotionEvent() && !finishExpanding) {
// We allow cancellations/finishing to still go through here to clean up the state
return false
}

View File

@@ -3840,8 +3840,13 @@ public class NotificationPanelViewController extends PanelViewController {
expand(true /* animate */);
}
initDownStates(event);
if (!mIsExpanding && !shouldQuickSettingsIntercept(mDownX, mDownY, 0)
&& mPulseExpansionHandler.onTouchEvent(event)) {
// If pulse is expanding already, let's give it the touch. There are situations
// where the panel starts expanding even though we're also pulsing
boolean pulseShouldGetTouch = (!mIsExpanding
&& !shouldQuickSettingsIntercept(mDownX, mDownY, 0))
|| mPulseExpansionHandler.isExpanding();
if (pulseShouldGetTouch && mPulseExpansionHandler.onTouchEvent(event)) {
// We're expanding all the other ones shouldn't get this anymore
return true;
}