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

Commit 83834927 authored by Roy Chou's avatar Roy Chou Committed by Android (Google) Code Review
Browse files

Merge "fix(window magnification): fix onSingleTap_enabled_scaleAnimates test...

Merge "fix(window magnification): fix onSingleTap_enabled_scaleAnimates test flaky on cf fodable and tablet" into main
parents 4af38a8f 43097536
Loading
Loading
Loading
Loading
+9 −4
Original line number Diff line number Diff line
@@ -80,8 +80,8 @@ import androidx.core.math.MathUtils;
import com.android.internal.accessibility.common.MagnificationConstants;
import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.graphics.SfVsyncFrameCallbackProvider;
import com.android.systemui.res.R;
import com.android.systemui.model.SysUiState;
import com.android.systemui.res.R;
import com.android.systemui.util.settings.SecureSettings;

import java.io.PrintWriter;
@@ -205,7 +205,7 @@ class WindowMagnificationController implements View.OnTouchListener, SurfaceHold
    private final Supplier<IWindowSession> mGlobalWindowSessionSupplier;
    private final SfVsyncFrameCallbackProvider mSfVsyncFrameProvider;
    private final MagnificationGestureDetector mGestureDetector;
    private final int mBounceEffectDuration;
    private int mBounceEffectDuration;
    private final Choreographer.FrameCallback mMirrorViewGeometryVsyncCallback;
    private Locale mLocale;
    private NumberFormat mPercentFormat;
@@ -272,8 +272,8 @@ class WindowMagnificationController implements View.OnTouchListener, SurfaceHold

        setupMagnificationSizeScaleOptions();

        mBounceEffectDuration = mResources.getInteger(
                com.android.internal.R.integer.config_shortAnimTime);
        setBounceEffectDuration(mResources.getInteger(
                com.android.internal.R.integer.config_shortAnimTime));
        updateDimensions();

        final Size windowFrameSize = restoreMagnificationWindowFrameSizeIfPossible();
@@ -1461,6 +1461,11 @@ class WindowMagnificationController implements View.OnTouchListener, SurfaceHold
        mDragView.setColorFilter(filter);
    }

    @VisibleForTesting
    void setBounceEffectDuration(int duration) {
        mBounceEffectDuration = duration;
    }

    private void animateBounceEffect() {
        final ObjectAnimator scaleAnimator = ObjectAnimator.ofPropertyValuesHolder(mMirrorView,
                PropertyValuesHolder.ofFloat(View.SCALE_X, 1, mBounceEffectAnimationScale, 1),
+5 −1
Original line number Diff line number Diff line
@@ -88,9 +88,9 @@ import androidx.test.InstrumentationRegistry;
import androidx.test.filters.LargeTest;

import com.android.internal.graphics.SfVsyncFrameCallbackProvider;
import com.android.systemui.res.R;
import com.android.systemui.SysuiTestCase;
import com.android.systemui.model.SysUiState;
import com.android.systemui.res.R;
import com.android.systemui.settings.FakeDisplayTracker;
import com.android.systemui.util.leak.ReferenceTestUtils;
import com.android.systemui.util.settings.SecureSettings;
@@ -121,6 +121,9 @@ import java.util.concurrent.atomic.AtomicInteger;
public class WindowMagnificationControllerTest extends SysuiTestCase {

    private static final int LAYOUT_CHANGE_TIMEOUT_MS = 5000;
    // The duration couldn't too short, otherwise the animation check on bounce effect
    // won't work in expectation. (b/299537784)
    private static final int BOUNCE_EFFECT_DURATION_MS = 2000;
    private static final long ANIMATION_DURATION_MS = 300;
    private final long mWaitingAnimationPeriod = 2 * ANIMATION_DURATION_MS;
    @Mock
@@ -205,6 +208,7 @@ public class WindowMagnificationControllerTest extends SysuiTestCase {
                        mSysUiState,
                        () -> mWindowSessionSpy,
                        mSecureSettings);
        mWindowMagnificationController.setBounceEffectDuration(BOUNCE_EFFECT_DURATION_MS);

        verify(mMirrorWindowControl).setWindowDelegate(
                any(MirrorWindowControl.MirrorWindowDelegate.class));