Loading packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayout.java +12 −0 Original line number Diff line number Diff line Loading @@ -3642,6 +3642,18 @@ public class NotificationStackScrollLayout extends ViewGroup implements Dumpable @ShadeViewRefactor(RefactorComponent.INPUT) protected boolean isInsideQsHeader(MotionEvent ev) { mQsHeader.getBoundsOnScreen(mQsHeaderBound); /** * One-handed mode defines a feature FEATURE_ONE_HANDED of DisplayArea {@link DisplayArea} * that will translate down the Y-coordinate whole window screen type except for * TYPE_NAVIGATION_BAR and TYPE_NAVIGATION_BAR_PANEL .{@link DisplayAreaPolicy}. * * So, to consider triggered One-handed mode would translate down the absolute Y-coordinate * of DisplayArea into relative coordinates for all windows, we need to correct the * QS Head bounds here. */ final int xOffset = Math.round(ev.getRawX() - ev.getX()); final int yOffset = Math.round(ev.getRawY() - ev.getY()); mQsHeaderBound.offsetTo(xOffset, yOffset); return mQsHeaderBound.contains((int) ev.getRawX(), (int) ev.getRawY()); } Loading packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayoutTest.java +2 −2 Original line number Diff line number Diff line Loading @@ -608,10 +608,10 @@ public class NotificationStackScrollLayoutTest extends SysuiTestCase { assertFalse(mStackScroller.isInsideQsHeader(event1)); MotionEvent event2 = transformEventForView(createMotionEvent(150f, 150f), mStackScroller); assertTrue(mStackScroller.isInsideQsHeader(event2)); assertFalse(mStackScroller.isInsideQsHeader(event2)); MotionEvent event3 = transformEventForView(createMotionEvent(250f, 250f), mStackScroller); assertTrue(mStackScroller.isInsideQsHeader(event2)); assertTrue(mStackScroller.isInsideQsHeader(event3)); } @Test Loading Loading
packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayout.java +12 −0 Original line number Diff line number Diff line Loading @@ -3642,6 +3642,18 @@ public class NotificationStackScrollLayout extends ViewGroup implements Dumpable @ShadeViewRefactor(RefactorComponent.INPUT) protected boolean isInsideQsHeader(MotionEvent ev) { mQsHeader.getBoundsOnScreen(mQsHeaderBound); /** * One-handed mode defines a feature FEATURE_ONE_HANDED of DisplayArea {@link DisplayArea} * that will translate down the Y-coordinate whole window screen type except for * TYPE_NAVIGATION_BAR and TYPE_NAVIGATION_BAR_PANEL .{@link DisplayAreaPolicy}. * * So, to consider triggered One-handed mode would translate down the absolute Y-coordinate * of DisplayArea into relative coordinates for all windows, we need to correct the * QS Head bounds here. */ final int xOffset = Math.round(ev.getRawX() - ev.getX()); final int yOffset = Math.round(ev.getRawY() - ev.getY()); mQsHeaderBound.offsetTo(xOffset, yOffset); return mQsHeaderBound.contains((int) ev.getRawX(), (int) ev.getRawY()); } Loading
packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayoutTest.java +2 −2 Original line number Diff line number Diff line Loading @@ -608,10 +608,10 @@ public class NotificationStackScrollLayoutTest extends SysuiTestCase { assertFalse(mStackScroller.isInsideQsHeader(event1)); MotionEvent event2 = transformEventForView(createMotionEvent(150f, 150f), mStackScroller); assertTrue(mStackScroller.isInsideQsHeader(event2)); assertFalse(mStackScroller.isInsideQsHeader(event2)); MotionEvent event3 = transformEventForView(createMotionEvent(250f, 250f), mStackScroller); assertTrue(mStackScroller.isInsideQsHeader(event2)); assertTrue(mStackScroller.isInsideQsHeader(event3)); } @Test Loading