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

Commit 2eefab86 authored by Menghan Li's avatar Menghan Li
Browse files

Revert "Add HaTS entrypoint for Magnification page"

This reverts commit e2182809.

Reason for revert: This change was reverted to accommodate a design
update. The display of hats has been moved to a menu action, as
detailed in the new design specification ag/32298200.

NO_IFTTT=Revert change

Bug: 380346799
Test: atest ToggleScreenMagnificationPreferenceFragmentTest
Flag: com.android.server.accessibility.enable_low_vision_hats
Change-Id: Ia78b412e6bdbd229f98dabf03e8b9f54c63a7298
parent 2cb4ddd3
Loading
Loading
Loading
Loading
+1 −31
Original line number Diff line number Diff line
@@ -230,7 +230,6 @@ public class ToggleScreenMagnificationPreferenceFragment extends
            // LINT.ThenChange(:search_data)
        }
        addCursorFollowingSetting(generalCategory);
        addFeedbackSetting(generalCategory);
    }

    @Override
@@ -416,14 +415,6 @@ public class ToggleScreenMagnificationPreferenceFragment extends
        return pref;
    }

    private static Preference createFeedbackPreference(Context context) {
        final Preference pref = new Preference(context);
        pref.setTitle(R.string.accessibility_feedback_title);
        pref.setSummary(R.string.accessibility_feedback_summary);
        pref.setKey(MagnificationFeedbackPreferenceController.PREF_KEY);
        return pref;
    }

    private static boolean isJoystickSupported() {
        return DeviceConfig.getBoolean(
                DeviceConfig.NAMESPACE_WINDOW_MANAGER,
@@ -449,22 +440,6 @@ public class ToggleScreenMagnificationPreferenceFragment extends
        addPreferenceController(joystickPreferenceController);
    }

    private void addFeedbackSetting(PreferenceCategory generalCategory) {
        if (!Flags.enableLowVisionHats()) {
            return;
        }

        final Preference feedbackPreference = createFeedbackPreference(getPrefContext());
        generalCategory.addPreference(feedbackPreference);

        final MagnificationFeedbackPreferenceController magnificationFeedbackPreferenceController =
                new MagnificationFeedbackPreferenceController(getContext(), this,
                        MagnificationFeedbackPreferenceController.PREF_KEY);
        magnificationFeedbackPreferenceController.setInSetupWizard(mInSetupWizard);
        magnificationFeedbackPreferenceController.displayPreference(getPreferenceScreen());
        addPreferenceController(magnificationFeedbackPreferenceController);
    }

    @Override
    public void showDialog(int dialogId) {
        super.showDialog(dialogId);
@@ -739,8 +714,7 @@ public class ToggleScreenMagnificationPreferenceFragment extends
                                    createOneFingerPanningPreference(context),
                                    createAlwaysOnPreference(context),
                                    createJoystickPreference(context),
                                    createCursorFollowingPreference(context),
                                    createFeedbackPreference(context)
                                    createCursorFollowingPreference(context)
                            )
                            .forEach(pref ->
                                    rawData.add(createPreferenceSearchData(context, pref)));
@@ -784,10 +758,6 @@ public class ToggleScreenMagnificationPreferenceFragment extends
                        niks.add(MagnificationCursorFollowingModePreferenceController.PREF_KEY);
                    }

                    if (!Flags.enableLowVisionHats()) {
                        niks.add(MagnificationFeedbackPreferenceController.PREF_KEY);
                    }

                    return niks;
                }
                // LINT.ThenChange(:preference_list)
+1 −57
Original line number Diff line number Diff line
@@ -340,26 +340,6 @@ public class ToggleScreenMagnificationPreferenceFragmentTest {
        assertThat(switchPreference.isChecked()).isFalse();
    }

    @Test
    @EnableFlags(Flags.FLAG_ENABLE_LOW_VISION_HATS)
    public void onResume_enableLowVisionHaTS_feedbackPreferenceShouldReturnNotNull() {
        mFragController.create(R.id.main_content, /* bundle= */ null).start().resume();

        final Preference feedbackPreference = mFragController.get().findPreference(
                MagnificationFeedbackPreferenceController.PREF_KEY);
        assertThat(feedbackPreference).isNotNull();
    }

    @Test
    @DisableFlags(Flags.FLAG_ENABLE_LOW_VISION_HATS)
    public void onResume_disableLowVisionHaTS_feedbackPreferenceShouldReturnNull() {
        mFragController.create(R.id.main_content, /* bundle= */ null).start().resume();

        final Preference feedbackPreference = mFragController.get().findPreference(
                MagnificationFeedbackPreferenceController.PREF_KEY);
        assertThat(feedbackPreference).isNull();
    }

    @Test
    public void onResume_haveRegisterToSpecificUris() {
        ShadowContentResolver shadowContentResolver = Shadows.shadowOf(
@@ -883,8 +863,7 @@ public class ToggleScreenMagnificationPreferenceFragmentTest {
                MagnificationOneFingerPanningPreferenceController.PREF_KEY,
                MagnificationAlwaysOnPreferenceController.PREF_KEY,
                MagnificationJoystickPreferenceController.PREF_KEY,
                MagnificationCursorFollowingModePreferenceController.PREF_KEY,
                MagnificationFeedbackPreferenceController.PREF_KEY);
                MagnificationCursorFollowingModePreferenceController.PREF_KEY);

        final List<SearchIndexableRaw> rawData = ToggleScreenMagnificationPreferenceFragment
                .SEARCH_INDEX_DATA_PROVIDER.getRawDataToIndex(mContext, true);
@@ -911,35 +890,10 @@ public class ToggleScreenMagnificationPreferenceFragmentTest {
        assertThat(niks).containsExactlyElementsIn(expectedNiks);
    }

    @Test
    @EnableFlags({
            com.android.settings.accessibility.Flags.FLAG_FIX_A11Y_SETTINGS_SEARCH,
            Flags.FLAG_ENABLE_LOW_VISION_HATS})
    public void
            getNonIndexableKeys_windowMagnificationNotSupportedHatsOn_shortcutFeedbackSearchable() {
        setWindowMagnificationSupported(false, false);

        final List<String> niks = ToggleScreenMagnificationPreferenceFragment
                .SEARCH_INDEX_DATA_PROVIDER.getNonIndexableKeys(mContext);
        final List<SearchIndexableRaw> rawData = ToggleScreenMagnificationPreferenceFragment
                .SEARCH_INDEX_DATA_PROVIDER.getRawDataToIndex(mContext, true);
        // Expect all search data, except the shortcut preference and feedback preference, to be in
        // NIKs.
        final List<String> expectedNiks = rawData.stream().map(raw -> raw.key)
                .filter(key ->
                        !key.equals(KEY_MAGNIFICATION_SHORTCUT_PREFERENCE)
                        && !key.equals(MagnificationFeedbackPreferenceController.PREF_KEY))
                .toList();

        // In NonIndexableKeys == not searchable
        assertThat(niks).containsExactlyElementsIn(expectedNiks);
    }

    @Test
    @EnableFlags({
            com.android.settings.accessibility.Flags.FLAG_FIX_A11Y_SETTINGS_SEARCH,
            Flags.FLAG_ENABLE_MAGNIFICATION_ONE_FINGER_PANNING_GESTURE,
            Flags.FLAG_ENABLE_LOW_VISION_HATS,
            com.android.settings.accessibility.Flags
                    .FLAG_ENABLE_MAGNIFICATION_CURSOR_FOLLOWING_DIALOG})
    @Config(shadows = ShadowInputDevice.class)
@@ -1008,16 +962,6 @@ public class ToggleScreenMagnificationPreferenceFragmentTest {
        assertThat(niks).contains(MagnificationJoystickPreferenceController.PREF_KEY);
    }

    @Test
    @DisableFlags(Flags.FLAG_ENABLE_LOW_VISION_HATS)
    public void getNonIndexableKeys_hatsNotSupported_notSearchable() {
        final List<String> niks = ToggleScreenMagnificationPreferenceFragment
                .SEARCH_INDEX_DATA_PROVIDER.getNonIndexableKeys(mContext);

        // In NonIndexableKeys == not searchable
        assertThat(niks).contains(MagnificationFeedbackPreferenceController.PREF_KEY);
    }

    private void putStringIntoSettings(String key, String componentName) {
        Settings.Secure.putString(mContext.getContentResolver(), key, componentName);
    }