Merge "Fixing QS reacting to touches in notifications area in split shade" into sc-v2-dev am: df844e0c3a

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

Change-Id: I271c0f59fb1aa2f3cb9a5e7ab249e2dfc2160121
This commit is contained in:
Michał Brzeziński
2021-08-27 10:14:46 +00:00
committed by Automerger Merge Worker

View File

@@ -1900,6 +1900,9 @@ public class NotificationPanelViewController extends PanelViewController {
private boolean handleQsTouch(MotionEvent event) {
if (mShouldUseSplitNotificationShade && touchXOutsideOfQs(event.getX())) {
return false;
}
final int action = event.getActionMasked();
if (action == MotionEvent.ACTION_DOWN && getExpandedFraction() == 1f
&& mBarState != KEYGUARD && !mQsExpanded && isQsExpansionEnabled()) {
@@ -1941,8 +1944,12 @@ public class NotificationPanelViewController extends PanelViewController {
return false;
}
private boolean touchXOutsideOfQs(float touchX) {
return touchX < mQsFrame.getX() || touchX > mQsFrame.getX() + mQsFrame.getWidth();
}
private boolean isInQsArea(float x, float y) {
if (x < mQsFrame.getX() || x > mQsFrame.getX() + mQsFrame.getWidth()) {
if (touchXOutsideOfQs(x)) {
return false;
}
// Let's reject anything at the very bottom around the home handle in gesture nav
@@ -4086,9 +4093,7 @@ public class NotificationPanelViewController extends PanelViewController {
@Override
public void flingTopOverscroll(float velocity, boolean open) {
// in split shade mode we want to expand/collapse QS only when touch happens within QS
if (mShouldUseSplitNotificationShade
&& (mInitialTouchX < mQsFrame.getX()
|| mInitialTouchX > mQsFrame.getX() + mQsFrame.getWidth())) {
if (mShouldUseSplitNotificationShade && touchXOutsideOfQs(mInitialTouchX)) {
return;
}
mLastOverscroll = 0f;