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

Commit c9a7c50f authored by Jon Miranda's avatar Jon Miranda
Browse files

Tune app closing/launcher resume animation "spring" values.

Bug: 109828964
Change-Id: I64252667451f511b7affdde5ffb28812876e7f4c
parent 563bc3d1
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -33,7 +33,8 @@

    <!-- Launcher app transition -->
    <dimen name="content_trans_y">50dp</dimen>
    <dimen name="springs_trans_y">-70dp</dimen>
    <dimen name="springs_start_slide_trans_y">-100dp</dimen>
    <dimen name="springs_end_slide_trans_y">6.25dp</dimen>
    <dimen name="closing_window_trans_y">115dp</dimen>

    <dimen name="recents_empty_message_text_size">16sp</dimen>
+9 −9
Original line number Diff line number Diff line
@@ -125,13 +125,13 @@ public class LauncherAppTransitionManagerImpl extends LauncherAppTransitionManag
    // Progress = 0: All apps is fully pulled up, Progress = 1: All apps is fully pulled down.
    public static final float ALL_APPS_PROGRESS_OFF_SCREEN = 1.3059858f;

    private static final int APP_CLOSE_ROW_START_DELAY_MS = 8;
    private static final int APP_CLOSE_ROW_START_DELAY_MS = 9;

    // The sum of [slide, oscillate, and settle] should be <= LAUNCHER_RESUME_TOTAL_DURATION.
    private static final int LAUNCHER_RESUME_TOTAL_DURATION = 346;
    private static final int SPRING_SLIDE_DURATION = 166;
    private static final int SPRING_OSCILLATE_DURATION = 130;
    private static final int SPRING_SETTLE_DURATION = 50;
    private static final int SPRING_SLIDE_DURATION = 170;
    private static final int SPRING_OSCILLATE_DURATION = 550;
    private static final int SPRING_SETTLE_DURATION = 25;

    private static final int SPRING_ALPHA_DURATION = 100;

    private final Launcher mLauncher;
    private final DragLayer mDragLayer;
@@ -173,8 +173,8 @@ public class LauncherAppTransitionManagerImpl extends LauncherAppTransitionManag
        Resources res = mLauncher.getResources();
        mContentTransY = res.getDimensionPixelSize(R.dimen.content_trans_y);
        mClosingWindowTransY = res.getDimensionPixelSize(R.dimen.closing_window_trans_y);
        mStartSlideTransY = res.getDimensionPixelSize(R.dimen.springs_trans_y);
        mEndSlideTransY = -mStartSlideTransY * 0.1f;
        mStartSlideTransY = res.getDimensionPixelSize(R.dimen.springs_start_slide_trans_y);
        mEndSlideTransY = res.getDimensionPixelSize(R.dimen.springs_end_slide_trans_y);

        mLauncher.addOnDeviceProfileChangeListener(this);
        registerRemoteAnimations();
@@ -837,7 +837,7 @@ public class LauncherAppTransitionManagerImpl extends LauncherAppTransitionManag
        v.setAlpha(0);
        ObjectAnimator alpha = ObjectAnimator.ofFloat(v, View.ALPHA, 1f);
        alpha.setInterpolator(LINEAR);
        alpha.setDuration(SPRING_SLIDE_DURATION + SPRING_OSCILLATE_DURATION);
        alpha.setDuration(SPRING_ALPHA_DURATION);
        alpha.setStartDelay(startDelay);
        outAnimator.play(alpha);

+5 −3
Original line number Diff line number Diff line
@@ -119,18 +119,20 @@ public class Interpolators {
    public static final Interpolator OSCILLATE = new Interpolator() {

        // Used to scale the oscillations horizontally
        private final float horizontalScale = 1f;
        private final float horizontalScale = 4f;
        // Used to shift the oscillations horizontally
        private final float horizontalShift = 0.5f;
        private final float horizontalShift = 0.22f;
        // Used to scale the oscillations vertically
        private final float verticalScale = 1f;
        // Used to shift the oscillations vertically
        private final float verticalShift = 1f;
        // Amplitude of oscillation
        private final float amplitude = 0.9f;

        @Override
        public float getInterpolation(float t) {
            t = horizontalScale * (t + horizontalShift);
            return (float) ((verticalScale * (Math.exp(-t) * Math.cos(2 * Math.PI * t)))
            return (float) ((verticalScale * (Math.exp(-t) * Math.cos(amplitude * Math.PI * t)))
                    + verticalShift);
        }
    };