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

Commit 1ea2b651 authored by Minche Li's avatar Minche Li Committed by Android (Google) Code Review
Browse files

Merge "Keeps magnification button StartDelay for 3 secs even remove animations settings is on"

parents 8e38df5f 47b12082
Loading
Loading
Loading
Loading
+11 −7
Original line number Diff line number Diff line
@@ -43,6 +43,7 @@ class MagnificationModeSwitch {

    private static final int DURATION_MS = 5000;
    private static final int START_DELAY_MS = 3000;
    private final Runnable mAnimationTask;

    private final Context mContext;
    private final WindowManager mWindowManager;
@@ -70,6 +71,14 @@ class MagnificationModeSwitch {
        applyResourcesValues();
        mImageView.setImageResource(getIconResId(mMagnificationMode));
        mImageView.setOnTouchListener(this::onTouch);

        mAnimationTask = () -> {
            mImageView.animate()
                    .alpha(0f)
                    .setDuration(DURATION_MS)
                    .withEndAction(() -> removeButton())
                    .start();
        };
    }

    private void applyResourcesValues() {
@@ -147,13 +156,8 @@ class MagnificationModeSwitch {
        // Dismiss the magnification switch button after the button is displayed for a period of
        // time.
        mImageView.animate().cancel();
        mImageView.animate()
                .alpha(0f)
                .setStartDelay(START_DELAY_MS)
                .setDuration(DURATION_MS)
                .withEndAction(
                        () -> removeButton())
                .start();
        mImageView.removeCallbacks(mAnimationTask);
        mImageView.postDelayed(mAnimationTask, START_DELAY_MS);
    }

    void onConfigurationChanged(int configDiff) {
+5 −2
Original line number Diff line number Diff line
@@ -231,7 +231,6 @@ public class MagnificationModeSwitchTest extends SysuiTestCase {
    private void assertShowButtonAnimation() {
        verify(mViewPropertyAnimator).cancel();
        verify(mViewPropertyAnimator).setDuration(anyLong());
        verify(mViewPropertyAnimator).setStartDelay(anyLong());
        verify(mViewPropertyAnimator).alpha(anyFloat());
        verify(mViewPropertyAnimator).start();
    }
@@ -239,11 +238,15 @@ public class MagnificationModeSwitchTest extends SysuiTestCase {
    private void initMockImageViewAndAnimator() {
        when(mViewPropertyAnimator.setDuration(anyLong())).thenReturn(mViewPropertyAnimator);
        when(mViewPropertyAnimator.alpha(anyFloat())).thenReturn(mViewPropertyAnimator);
        when(mViewPropertyAnimator.setStartDelay(anyLong())).thenReturn(mViewPropertyAnimator);
        when(mViewPropertyAnimator.withEndAction(any(Runnable.class))).thenReturn(
                mViewPropertyAnimator);

        when(mSpyImageView.animate()).thenReturn(mViewPropertyAnimator);
        doAnswer(invocation -> {
            Runnable run = invocation.getArgument(0);
            run.run();
            return null;
        }).when(mSpyImageView).postDelayed(any(), anyLong());
    }

    private void resetMockImageViewAndAnimator() {