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

Commit 160b18ab authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Fix jank when launching the All set page on devices that support vibrations" into tm-dev

parents 7c89ac5d 28a24306
Loading
Loading
Loading
Loading
+9 −4
Original line number Diff line number Diff line
@@ -54,6 +54,7 @@ import androidx.core.graphics.ColorUtils;
import com.android.launcher3.InvariantDeviceProfile;
import com.android.launcher3.R;
import com.android.launcher3.Utilities;
import com.android.launcher3.util.Executors;
import com.android.quickstep.AnimatedFloat;
import com.android.quickstep.GestureState;
import com.android.quickstep.TouchInteractionService.TISBinder;
@@ -136,6 +137,10 @@ public class AllSetActivity extends Activity {
        startBackgroundAnimation();
    }

    private void runOnUiHelperThread(Runnable runnable) {
        Executors.UI_HELPER_EXECUTOR.execute(runnable);
    }

    private void startBackgroundAnimation() {
        if (Utilities.ATLEAST_S && mVibrator != null && mVibrator.areAllPrimitivesSupported(
                VibrationEffect.Composition.PRIMITIVE_THUD)) {
@@ -144,22 +149,22 @@ public class AllSetActivity extends Activity {
                        new Animator.AnimatorListener() {
                            @Override
                            public void onAnimationStart(Animator animation) {
                                mVibrator.vibrate(getVibrationEffect());
                                runOnUiHelperThread(() -> mVibrator.vibrate(getVibrationEffect()));
                            }

                            @Override
                            public void onAnimationRepeat(Animator animation) {
                                mVibrator.vibrate(getVibrationEffect());
                                runOnUiHelperThread(() -> mVibrator.vibrate(getVibrationEffect()));
                            }

                            @Override
                            public void onAnimationEnd(Animator animation) {
                                mVibrator.cancel();
                                runOnUiHelperThread(mVibrator::cancel);
                            }

                            @Override
                            public void onAnimationCancel(Animator animation) {
                                mVibrator.cancel();
                                runOnUiHelperThread(mVibrator::cancel);
                            }
                        };
            }