Loading packages/SystemUI/src/com/android/systemui/statusbar/notification/HeadsUpTouchHelper.java +74 −21 Original line number Diff line number Diff line Loading @@ -115,6 +115,7 @@ public class HeadsUpTouchHelper implements Gefingerpoken { final float h = y - mInitialTouchY; if (mTouchingHeadsUpView && Math.abs(h) > mTouchSlop && Math.abs(h) > Math.abs(x - mInitialTouchX)) { if (!SceneContainerFlag.isEnabled()) { setTrackingHeadsUp(true); mCollapseSnoozes = h < 0; mInitialTouchX = x; Loading @@ -124,14 +125,13 @@ public class HeadsUpTouchHelper implements Gefingerpoken { mPanel.setHeadsUpDraggingStartingHeight(startHeight); mPanel.startExpand(x, y, true /* startTracking */, startHeight); if (!SceneContainerFlag.isEnabled()) { // This call needs to be after the expansion start otherwise we will get a // flicker of one frame as it's not expanded yet. mHeadsUpManager.unpinAll(true); } clearNotificationEffects(); endMotion(); } return true; } break; Loading Loading @@ -167,6 +167,58 @@ public class HeadsUpTouchHelper implements Gefingerpoken { @Override public boolean onTouchEvent(MotionEvent event) { if (SceneContainerFlag.isEnabled()) { int pointerIndex = event.findPointerIndex(mTrackingPointer); if (pointerIndex < 0) { pointerIndex = 0; mTrackingPointer = event.getPointerId(pointerIndex); } final float x = event.getX(pointerIndex); final float y = event.getY(pointerIndex); switch (event.getActionMasked()) { case MotionEvent.ACTION_POINTER_UP: final int upPointer = event.getPointerId(event.getActionIndex()); if (mTrackingPointer == upPointer) { // gesture is ongoing, find a new pointer to track final int newIndex = event.getPointerId(0) != upPointer ? 0 : 1; mTrackingPointer = event.getPointerId(newIndex); mInitialTouchX = event.getX(newIndex); mInitialTouchY = event.getY(newIndex); } break; case MotionEvent.ACTION_MOVE: final float h = y - mInitialTouchY; if (mTouchingHeadsUpView && Math.abs(h) > mTouchSlop && Math.abs(h) > Math.abs(x - mInitialTouchX)) { setTrackingHeadsUp(true); mCollapseSnoozes = h < 0; mInitialTouchX = x; mInitialTouchY = y; int startHeight = (int) (mPickedChild.getActualHeight() + mPickedChild.getTranslationY()); mPanel.setHeadsUpDraggingStartingHeight(startHeight); mPanel.startExpand(x, y, true /* startTracking */, startHeight); clearNotificationEffects(); endMotion(); return true; } break; case MotionEvent.ACTION_CANCEL: case MotionEvent.ACTION_UP: if (mPickedChild != null && mTouchingHeadsUpView) { // We may swallow this click if the heads up just came in. if (mHeadsUpManager.shouldSwallowClick( mPickedChild.getEntry().getSbn().getKey())) { endMotion(); return true; } } endMotion(); return false; } return false; } else { if (!mTrackingHeadsUp) { return false; } Loading @@ -179,6 +231,7 @@ public class HeadsUpTouchHelper implements Gefingerpoken { } return true; } } private void endMotion() { mTrackingPointer = -1; Loading packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayoutController.java +3 −3 Original line number Diff line number Diff line Loading @@ -2122,9 +2122,6 @@ public class NotificationStackScrollLayoutController implements Dumpable { boolean hunWantsIt = false; if (shouldHeadsUpHandleTouch()) { hunWantsIt = mHeadsUpTouchHelper.onInterceptTouchEvent(ev); if (hunWantsIt) { mView.startDraggingOnHun(); } } boolean swipeWantsIt = false; if (mLongPressedView == null && !mView.isBeingDragged() Loading Loading @@ -2210,6 +2207,9 @@ public class NotificationStackScrollLayoutController implements Dumpable { boolean hunWantsIt = false; if (shouldHeadsUpHandleTouch()) { hunWantsIt = mHeadsUpTouchHelper.onTouchEvent(ev); if (hunWantsIt) { mView.startDraggingOnHun(); } } // Check if we need to clear any snooze leavebehinds Loading Loading
packages/SystemUI/src/com/android/systemui/statusbar/notification/HeadsUpTouchHelper.java +74 −21 Original line number Diff line number Diff line Loading @@ -115,6 +115,7 @@ public class HeadsUpTouchHelper implements Gefingerpoken { final float h = y - mInitialTouchY; if (mTouchingHeadsUpView && Math.abs(h) > mTouchSlop && Math.abs(h) > Math.abs(x - mInitialTouchX)) { if (!SceneContainerFlag.isEnabled()) { setTrackingHeadsUp(true); mCollapseSnoozes = h < 0; mInitialTouchX = x; Loading @@ -124,14 +125,13 @@ public class HeadsUpTouchHelper implements Gefingerpoken { mPanel.setHeadsUpDraggingStartingHeight(startHeight); mPanel.startExpand(x, y, true /* startTracking */, startHeight); if (!SceneContainerFlag.isEnabled()) { // This call needs to be after the expansion start otherwise we will get a // flicker of one frame as it's not expanded yet. mHeadsUpManager.unpinAll(true); } clearNotificationEffects(); endMotion(); } return true; } break; Loading Loading @@ -167,6 +167,58 @@ public class HeadsUpTouchHelper implements Gefingerpoken { @Override public boolean onTouchEvent(MotionEvent event) { if (SceneContainerFlag.isEnabled()) { int pointerIndex = event.findPointerIndex(mTrackingPointer); if (pointerIndex < 0) { pointerIndex = 0; mTrackingPointer = event.getPointerId(pointerIndex); } final float x = event.getX(pointerIndex); final float y = event.getY(pointerIndex); switch (event.getActionMasked()) { case MotionEvent.ACTION_POINTER_UP: final int upPointer = event.getPointerId(event.getActionIndex()); if (mTrackingPointer == upPointer) { // gesture is ongoing, find a new pointer to track final int newIndex = event.getPointerId(0) != upPointer ? 0 : 1; mTrackingPointer = event.getPointerId(newIndex); mInitialTouchX = event.getX(newIndex); mInitialTouchY = event.getY(newIndex); } break; case MotionEvent.ACTION_MOVE: final float h = y - mInitialTouchY; if (mTouchingHeadsUpView && Math.abs(h) > mTouchSlop && Math.abs(h) > Math.abs(x - mInitialTouchX)) { setTrackingHeadsUp(true); mCollapseSnoozes = h < 0; mInitialTouchX = x; mInitialTouchY = y; int startHeight = (int) (mPickedChild.getActualHeight() + mPickedChild.getTranslationY()); mPanel.setHeadsUpDraggingStartingHeight(startHeight); mPanel.startExpand(x, y, true /* startTracking */, startHeight); clearNotificationEffects(); endMotion(); return true; } break; case MotionEvent.ACTION_CANCEL: case MotionEvent.ACTION_UP: if (mPickedChild != null && mTouchingHeadsUpView) { // We may swallow this click if the heads up just came in. if (mHeadsUpManager.shouldSwallowClick( mPickedChild.getEntry().getSbn().getKey())) { endMotion(); return true; } } endMotion(); return false; } return false; } else { if (!mTrackingHeadsUp) { return false; } Loading @@ -179,6 +231,7 @@ public class HeadsUpTouchHelper implements Gefingerpoken { } return true; } } private void endMotion() { mTrackingPointer = -1; Loading
packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayoutController.java +3 −3 Original line number Diff line number Diff line Loading @@ -2122,9 +2122,6 @@ public class NotificationStackScrollLayoutController implements Dumpable { boolean hunWantsIt = false; if (shouldHeadsUpHandleTouch()) { hunWantsIt = mHeadsUpTouchHelper.onInterceptTouchEvent(ev); if (hunWantsIt) { mView.startDraggingOnHun(); } } boolean swipeWantsIt = false; if (mLongPressedView == null && !mView.isBeingDragged() Loading Loading @@ -2210,6 +2207,9 @@ public class NotificationStackScrollLayoutController implements Dumpable { boolean hunWantsIt = false; if (shouldHeadsUpHandleTouch()) { hunWantsIt = mHeadsUpTouchHelper.onTouchEvent(ev); if (hunWantsIt) { mView.startDraggingOnHun(); } } // Check if we need to clear any snooze leavebehinds Loading