File tree Expand file tree Collapse file tree 1 file changed +12
-2
lines changed
packages/SystemUI/src/com/android/systemui/statusbar/phone Expand file tree Collapse file tree 1 file changed +12
-2
lines changed Original file line number Diff line number Diff line change @@ -1491,11 +1491,11 @@ boolean interceptTouchEvent(MotionEvent event) {
14911491 final int edgeBorder = mEdgeBorder ;
14921492 if (x >= edgeBorder && x < mDisplayMetrics .widthPixels - edgeBorder ) {
14931493 prepareTracking (y , !mExpanded );// opening if we're not already fully visible
1494- mVelocityTracker . addMovement (event );
1494+ trackMovement (event );
14951495 }
14961496 }
14971497 } else if (mTracking ) {
1498- mVelocityTracker . addMovement (event );
1498+ trackMovement (event );
14991499 final int minY = statusBarSize + mCloseView .getHeight ();
15001500 if (action == MotionEvent .ACTION_MOVE ) {
15011501 int y = (int )event .getRawY ();
@@ -1540,6 +1540,16 @@ boolean interceptTouchEvent(MotionEvent event) {
15401540 return false ;
15411541 }
15421542
1543+ private void trackMovement (MotionEvent event ) {
1544+ // Add movement to velocity tracker using raw screen X and Y coordinates instead
1545+ // of window coordinates because the window frame may be moving at the same time.
1546+ float deltaX = event .getRawX () - event .getX ();
1547+ float deltaY = event .getRawY () - event .getY ();
1548+ event .offsetLocation (deltaX , deltaY );
1549+ mVelocityTracker .addMovement (event );
1550+ event .offsetLocation (-deltaX , -deltaY );
1551+ }
1552+
15431553 @ Override // CommandQueue
15441554 public void setSystemUiVisibility (int vis ) {
15451555 final int old = mSystemUiVisibility ;
You can’t perform that action at this time.
0 commit comments