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

Commit 012ba80c authored by chenjean's avatar chenjean
Browse files

Create a method to allow child classes to define it's main switch toggle's pref key

We'd like to make the main switch toggle's preference searchable. Since we construct the preference programmatically, this would allow the preference to be automatically scrolled to when the user is brought to this page from a search result.

Bug: 372171003
Flag: EXEMPT refactor
Test: manual
Test: atest ToggleColorInversionPreferenceFragmentTest
      atest ToggleDaltonizerPreferenceFragmentTest
      atest ToggleFeaturePreferenceFragmentTest
Change-Id: I6eed7598ad296a758573318cf4bde5de30c7005c
parent fd84f120
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -67,7 +67,7 @@ public class LaunchAccessibilityActivityPreferenceFragment extends ToggleFeature
        initLaunchPreference();

        final View view = super.onCreateView(inflater, container, savedInstanceState);
        removePreference(KEY_USE_SERVICE_PREFERENCE);
        removePreference(getUseServicePreferenceKey());
        return view;
    }

+1 −1
Original line number Diff line number Diff line
@@ -106,7 +106,7 @@ public class ToggleDaltonizerPreferenceFragment extends ToggleFeaturePreferenceF
        final List<String> lists = new ArrayList<>();
        lists.add(KEY_TOP_INTRO_PREFERENCE);
        lists.add(KEY_PREVIEW);
        lists.add(KEY_USE_SERVICE_PREFERENCE);
        lists.add(getUseServicePreferenceKey());
        // Putting saturation level close to the preview so users can see what is changing.
        lists.add(KEY_SATURATION);
        lists.add(KEY_DEUTERANOMALY);
+6 −3
Original line number Diff line number Diff line
@@ -83,7 +83,6 @@ public abstract class ToggleFeaturePreferenceFragment extends DashboardFragment
    public static final String KEY_GENERAL_CATEGORY = "general_categories";
    public static final String KEY_SHORTCUT_PREFERENCE = "shortcut_preference";
    protected static final String KEY_TOP_INTRO_PREFERENCE = "top_intro";
    protected static final String KEY_USE_SERVICE_PREFERENCE = "use_service";
    protected static final String KEY_HTML_DESCRIPTION_PREFERENCE = "html_description";
    protected static final String KEY_SAVED_QS_TOOLTIP_RESHOW = "qs_tooltip_reshow";
    protected static final String KEY_SAVED_QS_TOOLTIP_TYPE = "qs_tooltip_type";
@@ -325,6 +324,10 @@ public abstract class ToggleFeaturePreferenceFragment extends DashboardFragment
        switchPreference.setTitle(title);
    }

    protected String getUseServicePreferenceKey() {
        return "use_service";
    }

    protected CharSequence getShortcutTitle() {
        return getString(R.string.accessibility_shortcut_title, mPackageName);
    }
@@ -411,7 +414,7 @@ public abstract class ToggleFeaturePreferenceFragment extends DashboardFragment
        final List<String> lists = new ArrayList<>();
        lists.add(KEY_TOP_INTRO_PREFERENCE);
        lists.add(KEY_ANIMATED_IMAGE);
        lists.add(KEY_USE_SERVICE_PREFERENCE);
        lists.add(getUseServicePreferenceKey());
        lists.add(KEY_GENERAL_CATEGORY);
        lists.add(KEY_HTML_DESCRIPTION_PREFERENCE);
        return lists;
@@ -476,7 +479,7 @@ public abstract class ToggleFeaturePreferenceFragment extends DashboardFragment

    private void initToggleServiceSwitchPreference() {
        mToggleServiceSwitchPreference = new SettingsMainSwitchPreference(getPrefContext());
        mToggleServiceSwitchPreference.setKey(KEY_USE_SERVICE_PREFERENCE);
        mToggleServiceSwitchPreference.setKey(getUseServicePreferenceKey());
        if (getArguments().containsKey(AccessibilitySettings.EXTRA_CHECKED)) {
            final boolean enabled = getArguments().getBoolean(AccessibilitySettings.EXTRA_CHECKED);
            mToggleServiceSwitchPreference.setChecked(enabled);
+3 −4
Original line number Diff line number Diff line
@@ -18,7 +18,6 @@ package com.android.settings.accessibility;

import static com.android.settings.accessibility.AccessibilityUtil.State.OFF;
import static com.android.settings.accessibility.AccessibilityUtil.State.ON;
import static com.android.settings.accessibility.ToggleColorInversionPreferenceFragment.KEY_USE_SERVICE_PREFERENCE;

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

@@ -93,10 +92,10 @@ public class ToggleColorInversionPreferenceFragmentTest {
        when(mActivity.getContentResolver()).thenReturn(mContext.getContentResolver());

        mScreen = spy(new PreferenceScreen(mContext, /* attrs= */ null));
        when(mScreen.findPreference(KEY_USE_SERVICE_PREFERENCE))
        when(mScreen.findPreference(mFragment.getUseServicePreferenceKey()))
                .thenReturn(mFragment.mToggleServiceSwitchPreference);
        doReturn(mScreen).when(mFragment).getPreferenceScreen();
        mSwitchPreference = mScreen.findPreference(KEY_USE_SERVICE_PREFERENCE);
        mSwitchPreference = mScreen.findPreference(mFragment.getUseServicePreferenceKey());
    }

    @Test
@@ -220,7 +219,7 @@ public class ToggleColorInversionPreferenceFragmentTest {
            mComponentName = PLACEHOLDER_COMPONENT_NAME;
            final SettingsMainSwitchPreference switchPreference =
                    new SettingsMainSwitchPreference(context);
            switchPreference.setKey(KEY_USE_SERVICE_PREFERENCE);
            switchPreference.setKey(getUseServicePreferenceKey());
            mToggleServiceSwitchPreference = switchPreference;
            setArguments(new Bundle());
        }
+1 −2
Original line number Diff line number Diff line
@@ -18,7 +18,6 @@ package com.android.settings.accessibility;

import static com.android.settings.accessibility.AccessibilityUtil.State.OFF;
import static com.android.settings.accessibility.AccessibilityUtil.State.ON;
import static com.android.settings.accessibility.ToggleDaltonizerPreferenceFragment.KEY_USE_SERVICE_PREFERENCE;

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

@@ -189,6 +188,6 @@ public class ToggleDaltonizerPreferenceFragmentTest {

    private SettingsMainSwitchPreference getMainFeatureToggle(
            ToggleDaltonizerPreferenceFragment fragment) {
        return fragment.findPreference(KEY_USE_SERVICE_PREFERENCE);
        return fragment.findPreference(fragment.getUseServicePreferenceKey());
    }
}
Loading