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

Commit dd4d9643 authored by Cam Bickel's avatar Cam Bickel Committed by Camden Bickel
Browse files

Cleanup flag "save_and_restore_magnification..."

Full flag name:
"save_and_restore_magnification_settings_buttons"

Bug: b/325567876
Test: atest WindowMagnificationControllerTest
WindowMagnificationFrameSizePrefsTest
Flag: EXEMPT flag cleanup

Change-Id: I46f175806a04dadb33462f0ceeab4b6a93dc2346
parent 40c99aa5
Loading
Loading
Loading
Loading
+0 −43
Original line number Diff line number Diff line
@@ -63,8 +63,6 @@ import android.graphics.Rect;
import android.os.Handler;
import android.os.RemoteException;
import android.os.SystemClock;
import android.platform.test.annotations.DisableFlags;
import android.platform.test.annotations.EnableFlags;
import android.provider.Settings;
import android.testing.TestableLooper;
import android.testing.TestableResources;
@@ -90,7 +88,6 @@ import androidx.test.InstrumentationRegistry;
import androidx.test.ext.junit.runners.AndroidJUnit4;
import androidx.test.filters.LargeTest;

import com.android.systemui.Flags;
import com.android.systemui.SysuiTestCase;
import com.android.systemui.animation.AnimatorTestRule;
import com.android.systemui.kosmos.KosmosJavaAdapter;
@@ -612,46 +609,6 @@ public class WindowMagnificationControllerTest extends SysuiTestCase {
                .isEqualTo(expectedRatio);
    }

    @DisableFlags(Flags.FLAG_SAVE_AND_RESTORE_MAGNIFICATION_SETTINGS_BUTTONS)
    @Test
    public void onScreenSizeAndDensityChanged_enabled_restoreSavedMagnifierWindow() {
        int newSmallestScreenWidthDp =
                mContext.getResources().getConfiguration().smallestScreenWidthDp * 2;
        int windowFrameSize = mResources.getDimensionPixelSize(
                com.android.internal.R.dimen.accessibility_window_magnifier_min_size);
        Size preferredWindowSize = new Size(windowFrameSize, windowFrameSize);
        mSharedPreferences
                .edit()
                .putString(String.valueOf(newSmallestScreenWidthDp),
                        preferredWindowSize.toString())
                .commit();
        mInstrumentation.runOnMainSync(() -> {
            mWindowMagnificationController.updateWindowMagnificationInternal(Float.NaN, Float.NaN,
                    Float.NaN);
        });

        // Screen density and size change
        mContext.getResources().getConfiguration().smallestScreenWidthDp = newSmallestScreenWidthDp;
        final Rect testWindowBounds = new Rect(
                mWindowManager.getCurrentWindowMetrics().getBounds());
        testWindowBounds.set(testWindowBounds.left, testWindowBounds.top,
                testWindowBounds.right + 100, testWindowBounds.bottom + 100);
        mWindowManager.setWindowBounds(testWindowBounds);
        mInstrumentation.runOnMainSync(() -> {
            mWindowMagnificationController.onConfigurationChanged(ActivityInfo.CONFIG_SCREEN_SIZE);
        });

        // wait for rect update
        waitForIdleSync();
        ViewGroup.LayoutParams params = mSurfaceControlViewHost.getView().getLayoutParams();
        final int mirrorSurfaceMargin = mResources.getDimensionPixelSize(
                R.dimen.magnification_mirror_surface_margin);
        // The width and height of the view include the magnification frame and the margins.
        assertThat(params.width).isEqualTo(windowFrameSize + 2 * mirrorSurfaceMargin);
        assertThat(params.height).isEqualTo(windowFrameSize + 2 * mirrorSurfaceMargin);
    }

    @EnableFlags(Flags.FLAG_SAVE_AND_RESTORE_MAGNIFICATION_SETTINGS_BUTTONS)
    @Test
    public void onScreenSizeAndDensityChanged_enabled_restoreSavedMagnifierIndexAndWindow() {
        int newSmallestScreenWidthDp =
+0 −17
Original line number Diff line number Diff line
@@ -25,15 +25,12 @@ import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.when;

import android.platform.test.annotations.DisableFlags;
import android.platform.test.annotations.EnableFlags;
import android.testing.TestableLooper;
import android.util.Size;

import androidx.test.ext.junit.runners.AndroidJUnit4;
import androidx.test.filters.SmallTest;

import com.android.systemui.Flags;
import com.android.systemui.SysuiTestCase;
import com.android.systemui.util.FakeSharedPreferences;

@@ -59,18 +56,6 @@ public class WindowMagnificationFrameSizePrefsTest extends SysuiTestCase {
        mWindowMagnificationFrameSizePrefs = new WindowMagnificationFrameSizePrefs(mContext);
    }

    @DisableFlags(Flags.FLAG_SAVE_AND_RESTORE_MAGNIFICATION_SETTINGS_BUTTONS)
    @Test
    public void saveSizeForCurrentDensity_getExpectedSize() {
        Size testSize = new Size(500, 500);
        mWindowMagnificationFrameSizePrefs
                .saveIndexAndSizeForCurrentDensity(MagnificationSize.CUSTOM, testSize);

        assertThat(mWindowMagnificationFrameSizePrefs.getSizeForCurrentDensity())
                .isEqualTo(testSize);
    }

    @EnableFlags(Flags.FLAG_SAVE_AND_RESTORE_MAGNIFICATION_SETTINGS_BUTTONS)
    @Test
    public void saveSizeForCurrentDensity_validPreference_getExpectedSize() {
        int testIndex = MagnificationSize.MEDIUM;
@@ -81,7 +66,6 @@ public class WindowMagnificationFrameSizePrefsTest extends SysuiTestCase {
                .isEqualTo(testSize);
    }

    @EnableFlags(Flags.FLAG_SAVE_AND_RESTORE_MAGNIFICATION_SETTINGS_BUTTONS)
    @Test
    public void saveSizeForCurrentDensity_validPreference_getExpectedIndex() {
        int testIndex = MagnificationSize.MEDIUM;
@@ -92,7 +76,6 @@ public class WindowMagnificationFrameSizePrefsTest extends SysuiTestCase {
                .isEqualTo(testIndex);
    }

    @EnableFlags(Flags.FLAG_SAVE_AND_RESTORE_MAGNIFICATION_SETTINGS_BUTTONS)
    @Test
    public void saveSizeForCurrentDensity_invalidPreference_getDefaultIndex() {
        mSharedPreferences
+2 −14
Original line number Diff line number Diff line
@@ -283,7 +283,7 @@ class WindowMagnificationController implements View.OnTouchListener, SurfaceHold
                com.android.internal.R.integer.config_shortAnimTime));
        updateDimensions();

        final Size windowFrameSize = restoreMagnificationWindowFrameSizeIfPossible();
        final Size windowFrameSize = restoreMagnificationWindowFrameIndexAndSizeIfPossible();
        setMagnificationFrame(windowFrameSize.getWidth(), windowFrameSize.getHeight(),
                mWindowBounds.width() / 2, mWindowBounds.height() / 2);
        computeBounceAnimationScale();
@@ -541,7 +541,7 @@ class WindowMagnificationController implements View.OnTouchListener, SurfaceHold
            return false;
        }
        mWindowBounds.set(currentWindowBounds);
        final Size windowFrameSize = restoreMagnificationWindowFrameSizeIfPossible();
        final Size windowFrameSize = restoreMagnificationWindowFrameIndexAndSizeIfPossible();
        final float newCenterX = (getCenterX()) * mWindowBounds.width() / oldWindowBounds.width();
        final float newCenterY = (getCenterY()) * mWindowBounds.height() / oldWindowBounds.height();

@@ -787,18 +787,6 @@ class WindowMagnificationController implements View.OnTouchListener, SurfaceHold
        mMagnificationFrame.set(initX, initY, initX + width, initY + height);
    }

    private Size restoreMagnificationWindowFrameSizeIfPossible() {
        if (Flags.saveAndRestoreMagnificationSettingsButtons()) {
            return restoreMagnificationWindowFrameIndexAndSizeIfPossible();
        }

        if (!mWindowMagnificationFrameSizePrefs.isPreferenceSavedForCurrentDensity()) {
            return getDefaultMagnificationWindowFrameSize();
        }

        return mWindowMagnificationFrameSizePrefs.getSizeForCurrentDensity();
    }

    private Size restoreMagnificationWindowFrameIndexAndSizeIfPossible() {
        if (!mWindowMagnificationFrameSizePrefs.isPreferenceSavedForCurrentDensity()) {
            notifyWindowSizeRestored(MagnificationSize.DEFAULT);
+7 −17
Original line number Diff line number Diff line
@@ -22,8 +22,6 @@ import android.content.Context;
import android.content.SharedPreferences;
import android.util.Size;

import com.android.systemui.Flags;

/**
 * Class to handle SharedPreference for window magnification size.
 */
@@ -52,14 +50,10 @@ final class WindowMagnificationFrameSizePrefs {
     * Saves the window frame size for current screen density.
     */
    public void saveIndexAndSizeForCurrentDensity(int index, Size size) {
        if (Flags.saveAndRestoreMagnificationSettingsButtons()) {
            mWindowMagnificationSizePreferences.edit()
                    .putString(getKey(),
                            WindowMagnificationFrameSpec.serialize(index, size)).apply();
        } else {
            mWindowMagnificationSizePreferences.edit()
                    .putString(getKey(), size.toString()).apply();
        }
        mWindowMagnificationSizePreferences
                .edit()
                .putString(getKey(), WindowMagnificationFrameSpec.serialize(index, size))
                .apply();
    }

    /**
@@ -91,13 +85,9 @@ final class WindowMagnificationFrameSizePrefs {
     * Gets the size preference for current screen density.
     */
    public Size getSizeForCurrentDensity() {
        if (Flags.saveAndRestoreMagnificationSettingsButtons()) {
            return WindowMagnificationFrameSpec
                    .deserialize(mWindowMagnificationSizePreferences.getString(getKey(), null))
        return WindowMagnificationFrameSpec.deserialize(
                        mWindowMagnificationSizePreferences.getString(getKey(), null))
                .getSize();
        } else {
            return Size.parseSize(mWindowMagnificationSizePreferences.getString(getKey(), null));
        }
    }

}
+4 −11
Original line number Diff line number Diff line
@@ -59,7 +59,6 @@ import android.widget.Switch;
import com.android.app.viewcapture.ViewCaptureAwareWindowManager;
import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.graphics.SfVsyncFrameCallbackProvider;
import com.android.systemui.Flags;
import com.android.systemui.common.ui.view.SeekBarWithIconButtonsView;
import com.android.systemui.res.R;
import com.android.systemui.util.settings.SecureSettings;
@@ -460,12 +459,8 @@ class WindowMagnificationSettings implements MagnificationGestureDetector.OnGest
                mAllowDiagonalScrollingView.setVisibility(View.VISIBLE);
                mFullScreenButton.setVisibility(View.GONE);
                if (selectedButtonIndex == MagnificationSize.FULLSCREEN) {
                    if (Flags.saveAndRestoreMagnificationSettingsButtons()) {
                    selectedButtonIndex =
                            windowMagnificationFrameSizePrefs.getIndexForCurrentDensity();
                    } else {
                        selectedButtonIndex = MagnificationSize.CUSTOM;
                    }
                }
                break;

@@ -482,11 +477,9 @@ class WindowMagnificationSettings implements MagnificationGestureDetector.OnGest
                } else { // mode = ACCESSIBILITY_MAGNIFICATION_MODE_WINDOW
                    mEditButton.setVisibility(View.VISIBLE);
                    mAllowDiagonalScrollingView.setVisibility(View.VISIBLE);
                    if (Flags.saveAndRestoreMagnificationSettingsButtons()) {
                    selectedButtonIndex =
                            windowMagnificationFrameSizePrefs.getIndexForCurrentDensity();
                }
                }
                break;

            case ACCESSIBILITY_MAGNIFICATION_MODE_FULLSCREEN: