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

Commit dbf8c92c authored by Zak Cohen's avatar Zak Cohen
Browse files

Fix jank in back indicator.

Test: Manual
Change-Id: Ic01fccba56ea048cf530bdd8e7f6340a0f455b92
parent 01d1fd33
Loading
Loading
Loading
Loading
+13 −4
Original line number Diff line number Diff line
@@ -114,7 +114,7 @@ public class NavigationBarEdgePanel extends View {
        lp.accessibilityTitle = context.getString(R.string.nav_bar_edge_panel);
        lp.windowAnimations = 0;
        NavigationBarEdgePanel panel = new NavigationBarEdgePanel(
                context, (gravity & Gravity.LEFT) != 0);
                context, (gravity & Gravity.LEFT) == Gravity.LEFT);
        panel.setLayoutParams(lp);
        return panel;
    }
@@ -269,12 +269,21 @@ public class NavigationBarEdgePanel extends View {
                dist));

        if (dist < mGestureLength) {
            setLegProgress(MathUtils.constrainedMap(
            float calculatedLegProgress = MathUtils.constrainedMap(
                    0f, POINTEDNESS_BEFORE_SNAP_RATIO,
                    mGestureLength * START_POINTING_RATIO, mGestureLength,
                    dist));
                    dist);

            // Blend animated value with drag calculated value, allow the gesture to continue
            // while the animation is playing with jump cuts in the animation.
            setLegProgress(MathUtils.lerp(calculatedLegProgress, mLegProgress, mDragProgress));

            if (mGestureDetected) {
                mGestureDetected = false;

                mLegAnimator.setFloatValues(POINTEDNESS_BEFORE_SNAP_RATIO);
                mLegAnimator.start();
            }
        } else {
            if (!mGestureDetected) {
                performHapticFeedback(HapticFeedbackConstants.CLOCK_TICK);