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

Commit 24cdde89 authored by Mady Mellor's avatar Mady Mellor Committed by android-build-merger
Browse files

Improve swiping to reveal gear for ongoing notifications with time check

am: 5b3cc115

Change-Id: I3c9748d9262844b3dcc3d23a68cab251aa3fa469
parents 25ffd0db 5b3cc115
Loading
Loading
Loading
Loading
+9 −8
Original line number Diff line number Diff line
@@ -3900,6 +3900,7 @@ public class NotificationStackScrollLayout extends ViewGroup
    private class NotificationSwipeHelper extends SwipeHelper {
        private static final long SHOW_GEAR_DELAY = 60;
        private static final long COVER_GEAR_DELAY = 4000;
        private static final long SWIPE_GEAR_TIMING = 200;
        private CheckForDrag mCheckForDrag;
        private Runnable mFalsingCheck;
        private Handler mHandler;
@@ -4016,6 +4017,9 @@ public class NotificationStackScrollLayout extends ViewGroup

            boolean gestureTowardsGear = isTowardsGear(velocity, mCurrIconRow.isIconOnLeft());
            boolean gestureFastEnough = Math.abs(velocity) > getEscapeVelocity();
            final double timeForGesture = ev.getEventTime() - ev.getDownTime();
            final boolean showGearForSlowOnGoing = !canChildBeDismissed(animView)
                && timeForGesture >= SWIPE_GEAR_TIMING;

            if (mGearSnappedTo && mCurrIconRow.isVisible()) {
                if (mGearSnappedOnLeft == mCurrIconRow.isIconOnLeft()) {
@@ -4040,7 +4044,8 @@ public class NotificationStackScrollLayout extends ViewGroup
                } else {
                    dismissOrSnapBack(animView, velocity, ev);
                }
            } else if ((!gestureFastEnough && swipedEnoughToShowGear(animView))
            } else if (((!gestureFastEnough || showGearForSlowOnGoing)
                    && swipedEnoughToShowGear(animView))
                    || gestureTowardsGear) {
                // Gear has not been snapped to previously and this is gear revealing gesture
                snapToGear(animView, velocity);
@@ -4092,13 +4097,9 @@ public class NotificationStackScrollLayout extends ViewGroup
            final float multiplier = canChildBeDismissed(animView) ? 0.4f : 0.2f;
            final float snapBackThreshold = getSpaceForGear(animView) * multiplier;
            final float translation = getTranslation(animView);
            final boolean fromLeft = translation > 0;
            final float absTrans = Math.abs(translation);
            final float notiThreshold = getSize(mTranslatingParentView) * 0.4f;

            return mCurrIconRow.isVisible() && (mCurrIconRow.isIconOnLeft()
                    ? (translation > snapBackThreshold && translation <= notiThreshold)
                    : (translation < -snapBackThreshold && translation >= -notiThreshold));
            return !swipedFarEnough() && mCurrIconRow.isVisible() && (mCurrIconRow.isIconOnLeft()
                    ? translation > snapBackThreshold
                    : translation < -snapBackThreshold);
        }

        @Override