Fixing QS reacting to touches in notifications area in split shade
In split shade quick settings and notifications should be move independently and react to touches only in their respective areas. This CL introduces limits QS reacting to touches to only if X position of the touch is inside their bounds. Fixes: 196191619 Test: manual Change-Id: Iaac383b6fa3d4f6a261f6a94f6b0fa7a91de0c95
This commit is contained in:
@@ -1898,6 +1898,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()) {
|
||||
@@ -1939,8 +1942,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
|
||||
@@ -4160,9 +4167,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;
|
||||
|
||||
Reference in New Issue
Block a user