Fix snooze guts disappearing in split shade

In split shade the NSSL is no longer full screen, so the assumption that getX was the absolute X coordinate of the touch was wrong; as a result the NSSL dismissed the guts because it thought the touch was somewhere in the NSSL but not in the guts view (or any other view).

Fixes: 204283146
Test: manual
Change-Id: I634d378e162e20ed277b164a506d7dace56c8525
This commit is contained in:
Jeff DeCew
2021-11-18 15:43:43 -05:00
parent 270657d95b
commit 89a0b88187
2 changed files with 8 additions and 8 deletions

View File

@@ -444,8 +444,8 @@ class NotificationSwipeHelper extends SwipeHelper implements NotificationSwipeAc
final int height = (view instanceof ExpandableView)
? ((ExpandableView) view).getActualHeight()
: view.getHeight();
final int rx = (int) ev.getX();
final int ry = (int) ev.getY();
final int rx = (int) ev.getRawX();
final int ry = (int) ev.getRawY();
int[] temp = new int[2];
view.getLocationOnScreen(temp);
final int x = temp[0];

View File

@@ -438,8 +438,8 @@ public class NotificationSwipeHelperTest extends SysuiTestCase {
assertEquals("returns false when view is null", false,
NotificationSwipeHelper.isTouchInView(mEvent, null));
doReturn(5f).when(mEvent).getX();
doReturn(10f).when(mEvent).getY();
doReturn(5f).when(mEvent).getRawX();
doReturn(10f).when(mEvent).getRawY();
doReturn(20).when(mView).getWidth();
doReturn(20).when(mView).getHeight();
@@ -455,7 +455,7 @@ public class NotificationSwipeHelperTest extends SysuiTestCase {
assertTrue("Touch is within the view",
mSwipeHelper.isTouchInView(mEvent, mView));
doReturn(50f).when(mEvent).getX();
doReturn(50f).when(mEvent).getRawX();
assertFalse("Touch is not within the view",
mSwipeHelper.isTouchInView(mEvent, mView));
@@ -466,8 +466,8 @@ public class NotificationSwipeHelperTest extends SysuiTestCase {
assertEquals("returns false when view is null", false,
NotificationSwipeHelper.isTouchInView(mEvent, null));
doReturn(5f).when(mEvent).getX();
doReturn(10f).when(mEvent).getY();
doReturn(5f).when(mEvent).getRawX();
doReturn(10f).when(mEvent).getRawY();
doReturn(20).when(mNotificationRow).getWidth();
doReturn(20).when(mNotificationRow).getActualHeight();
@@ -483,7 +483,7 @@ public class NotificationSwipeHelperTest extends SysuiTestCase {
assertTrue("Touch is within the view",
mSwipeHelper.isTouchInView(mEvent, mNotificationRow));
doReturn(50f).when(mEvent).getX();
doReturn(50f).when(mEvent).getRawX();
assertFalse("Touch is not within the view",
mSwipeHelper.isTouchInView(mEvent, mNotificationRow));