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

Commit a95f002d authored by Menghan Li's avatar Menghan Li
Browse files

feat(A11yHaTS): Add entrypoint for magnification page

Visibility is controlled by the aconfig flag and
SurveyFeatureProvider#isSurveyAvailable, and these can be changed by
magnification function state.

Bug: 380346799
Test: Manual testing on Pixel and non-Pixel devices
Test: atest ToggleScreenMagnificationPreferenceFragmentTest
            ToggleScreenMagnificationPreferenceFragmentForSetupWizardTest
Flag: com.android.server.accessibility.enable_low_vision_hats
Change-Id: I1770d381763be8eba429600f28307b64f6ccf83c
parent 6b490c46
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -84,6 +84,7 @@ public class ToggleScreenMagnificationPreferenceFragment extends
    private static final String TAG =
            ToggleScreenMagnificationPreferenceFragment.class.getSimpleName();
    static final String KEY_MAGNIFICATION_SHORTCUT_PREFERENCE = "magnification_shortcut_preference";
    public static final String MAGNIFICATION_SURVEY_KEY = "A11yMagnificationUser";
    private static final char COMPONENT_NAME_SEPARATOR = ':';
    private static final TextUtils.SimpleStringSplitter sStringColonSplitter =
            new TextUtils.SimpleStringSplitter(COMPONENT_NAME_SEPARATOR);
@@ -593,6 +594,12 @@ public class ToggleScreenMagnificationPreferenceFragment extends
        }
    }

    @Override
    @NonNull
    public String getSurveyKey() {
        return MAGNIFICATION_SURVEY_KEY;
    }

    @Override
    int getUserShortcutTypes() {
        return ShortcutUtils.getEnabledShortcutTypes(
+6 −0
Original line number Diff line number Diff line
@@ -121,4 +121,10 @@ public class ToggleScreenMagnificationPreferenceFragmentForSetupWizard
        // Hides help center in action bar and footer bar in SuW
        return 0;
    }

    @Override
    public String getSurveyKey() {
        // Hides survey options in SuW
        return "";
    }
}
+5 −0
Original line number Diff line number Diff line
@@ -109,6 +109,11 @@ public class ToggleScreenMagnificationPreferenceFragmentForSetupWizardTest {
        assertThat(mFragment.getHelpResource()).isEqualTo(0);
    }

    @Test
    public void getSurveyKey_returnEmptyString() {
        assertThat(mFragment.getSurveyKey()).isEqualTo("");
    }

    private static class TestToggleScreenMagnificationPreferenceFragmentForSetupWizard
            extends ToggleScreenMagnificationPreferenceFragmentForSetupWizard {

+10 −0
Original line number Diff line number Diff line
@@ -24,6 +24,7 @@ import static com.android.internal.accessibility.common.ShortcutConstants.UserSh
import static com.android.settings.accessibility.AccessibilityUtil.State.OFF;
import static com.android.settings.accessibility.AccessibilityUtil.State.ON;
import static com.android.settings.accessibility.ToggleScreenMagnificationPreferenceFragment.KEY_MAGNIFICATION_SHORTCUT_PREFERENCE;
import static com.android.settings.accessibility.ToggleScreenMagnificationPreferenceFragment.MAGNIFICATION_SURVEY_KEY;

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

@@ -748,6 +749,15 @@ public class ToggleScreenMagnificationPreferenceFragmentTest {
        assertThat(fragment.getHelpResource()).isEqualTo(R.string.help_url_magnification);
    }

    @Test
    public void getSurveyKey_returnCorrectKey() {
        ToggleScreenMagnificationPreferenceFragment fragment =
                mFragController.create(
                        R.id.main_content, /* bundle= */ null).start().resume().get();

        assertThat(fragment.getSurveyKey()).isEqualTo(MAGNIFICATION_SURVEY_KEY);
    }

    @Test
    @DisableFlags(Flags.FLAG_ENABLE_MAGNIFICATION_ONE_FINGER_PANNING_GESTURE)
    public void