Merge "Fix shade flicker & touch absorption" into sc-qpr1-dev am: dbdc35d2ea
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/15546043 Change-Id: I49b4727ede40e03d432c610f3f7157067be44cbb
This commit is contained in:
@@ -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);
|
||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user