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

Commit 3761f61c authored by Roy Chou's avatar Roy Chou
Browse files

chore(magnification suw): hide always on toggle in setup wizard

Bug: 340721852
Flag: NONE
Test: manually
      atest MagnificationAlwaysOnPreferenceControllerTest
Change-Id: I39868ac1d4423584e43473683db20a2259311049
parent 9780020f
Loading
Loading
Loading
Loading
+3 −4
Original line number Diff line number Diff line
@@ -34,7 +34,6 @@ import androidx.preference.PreferenceScreen;

import com.android.settings.R;
import com.android.settings.accessibility.MagnificationCapabilities.MagnificationMode;
import com.android.settings.core.TogglePreferenceController;
import com.android.settingslib.core.lifecycle.LifecycleObserver;
import com.android.settingslib.core.lifecycle.events.OnPause;
import com.android.settingslib.core.lifecycle.events.OnResume;
@@ -44,8 +43,8 @@ import com.android.settingslib.core.lifecycle.events.OnResume;
 * feature, where the magnifier will not deactivate on Activity transitions; it will only zoom out
 * to 100%.
 */
public class MagnificationAlwaysOnPreferenceController extends TogglePreferenceController
        implements LifecycleObserver, OnResume, OnPause {
public class MagnificationAlwaysOnPreferenceController extends
        MagnificationFeaturePreferenceController implements LifecycleObserver, OnResume, OnPause {

    private static final String TAG =
            MagnificationAlwaysOnPreferenceController.class.getSimpleName();
@@ -89,7 +88,7 @@ public class MagnificationAlwaysOnPreferenceController extends TogglePreferenceC

    @Override
    public int getAvailabilityStatus() {
        return AVAILABLE;
        return isInSetupWizard() ? CONDITIONALLY_UNAVAILABLE : AVAILABLE;
    }

    @Override
+1 −0
Original line number Diff line number Diff line
@@ -285,6 +285,7 @@ public class ToggleScreenMagnificationPreferenceFragment extends

        var alwaysOnPreferenceController = new MagnificationAlwaysOnPreferenceController(
                getContext(), MagnificationAlwaysOnPreferenceController.PREF_KEY);
        alwaysOnPreferenceController.setInSetupWizard(mInSetupWizard);
        getSettingsLifecycle().addObserver(alwaysOnPreferenceController);
        alwaysOnPreferenceController.displayPreference(getPreferenceScreen());
        addPreferenceController(alwaysOnPreferenceController);
+13 −0
Original line number Diff line number Diff line
@@ -18,6 +18,8 @@ package com.android.settings.accessibility;

import static com.android.settings.accessibility.AccessibilityUtil.State.OFF;
import static com.android.settings.accessibility.MagnificationCapabilities.MagnificationMode;
import static com.android.settings.core.BasePreferenceController.AVAILABLE;
import static com.android.settings.core.BasePreferenceController.CONDITIONALLY_UNAVAILABLE;

import static com.google.common.truth.Truth.assertThat;

@@ -148,4 +150,15 @@ public class MagnificationAlwaysOnPreferenceControllerTest {
        mController.updateState(mSwitchPreference);
        assertThat(mSwitchPreference.isEnabled()).isTrue();
    }

    @Test
    public void getAvailableStatus_notInSetupWizard_returnAvailable() {
        assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
    }

    @Test
    public void getAvailableStatus_inSetupWizard_returnConditionallyUnavailable() {
        mController.setInSetupWizard(true);
        assertThat(mController.getAvailabilityStatus()).isEqualTo(CONDITIONALLY_UNAVAILABLE);
    }
}