Loading packages/SystemUI/src/com/android/systemui/statusbar/phone/PanelViewController.java +7 −6 Original line number Original line Diff line number Diff line Loading @@ -1211,10 +1211,14 @@ public abstract class PanelViewController { case MotionEvent.ACTION_MOVE: case MotionEvent.ACTION_MOVE: final float h = y - mInitialTouchY; final float h = y - mInitialTouchY; addMovement(event); addMovement(event); if (canCollapsePanel || mTouchStartedInEmptyArea || mAnimatingOnDown) { final boolean openShadeWithoutHun = mPanelClosedOnDown && !mCollapsedAndHeadsUpOnDown; if (canCollapsePanel || mTouchStartedInEmptyArea || mAnimatingOnDown || openShadeWithoutHun) { float hAbs = Math.abs(h); float hAbs = Math.abs(h); float touchSlop = getTouchSlop(event); float touchSlop = getTouchSlop(event); if ((h < -touchSlop || (mAnimatingOnDown && hAbs > touchSlop)) if ((h < -touchSlop || ((openShadeWithoutHun || mAnimatingOnDown) && hAbs > touchSlop)) && hAbs > Math.abs(x - mInitialTouchX)) { && hAbs > Math.abs(x - mInitialTouchX)) { cancelHeightAnimator(); cancelHeightAnimator(); startExpandMotion(x, y, true /* startTracking */, mExpandedHeight); startExpandMotion(x, y, true /* startTracking */, mExpandedHeight); Loading @@ -1227,10 +1231,7 @@ public abstract class PanelViewController { mVelocityTracker.clear(); mVelocityTracker.clear(); break; break; } } return false; // Finally, if none of the above cases applies, ensure that touches do not get handled // by the contents of a panel that is not showing (a bit of a hack to avoid b/178277858) return (mView.getVisibility() != View.VISIBLE); } } @Override @Override Loading Loading
packages/SystemUI/src/com/android/systemui/statusbar/phone/PanelViewController.java +7 −6 Original line number Original line Diff line number Diff line Loading @@ -1211,10 +1211,14 @@ public abstract class PanelViewController { case MotionEvent.ACTION_MOVE: case MotionEvent.ACTION_MOVE: final float h = y - mInitialTouchY; final float h = y - mInitialTouchY; addMovement(event); addMovement(event); if (canCollapsePanel || mTouchStartedInEmptyArea || mAnimatingOnDown) { final boolean openShadeWithoutHun = mPanelClosedOnDown && !mCollapsedAndHeadsUpOnDown; if (canCollapsePanel || mTouchStartedInEmptyArea || mAnimatingOnDown || openShadeWithoutHun) { float hAbs = Math.abs(h); float hAbs = Math.abs(h); float touchSlop = getTouchSlop(event); float touchSlop = getTouchSlop(event); if ((h < -touchSlop || (mAnimatingOnDown && hAbs > touchSlop)) if ((h < -touchSlop || ((openShadeWithoutHun || mAnimatingOnDown) && hAbs > touchSlop)) && hAbs > Math.abs(x - mInitialTouchX)) { && hAbs > Math.abs(x - mInitialTouchX)) { cancelHeightAnimator(); cancelHeightAnimator(); startExpandMotion(x, y, true /* startTracking */, mExpandedHeight); startExpandMotion(x, y, true /* startTracking */, mExpandedHeight); Loading @@ -1227,10 +1231,7 @@ public abstract class PanelViewController { mVelocityTracker.clear(); mVelocityTracker.clear(); break; break; } } return false; // Finally, if none of the above cases applies, ensure that touches do not get handled // by the contents of a panel that is not showing (a bit of a hack to avoid b/178277858) return (mView.getVisibility() != View.VISIBLE); } } @Override @Override Loading