Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 85978872 authored by Jeff DeCew's avatar Jeff DeCew Committed by Android (Google) Code Review
Browse files

Merge "Fix shade flicker & touch absorption" into sc-dev

parents 5561314b c5b0f4eb
Loading
Loading
Loading
Loading
+7 −6
Original line number Original line Diff line number Diff line
@@ -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