diff --git a/res/xml/accessibility_autoclick_settings.xml b/res/xml/accessibility_autoclick_settings.xml index de4a12dd1c6..7eddb8697da 100644 --- a/res/xml/accessibility_autoclick_settings.xml +++ b/res/xml/accessibility_autoclick_settings.xml @@ -33,8 +33,7 @@ + android:persistent="false"/> getNonIndexableKeys(Context context) { + List niks = super.getNonIndexableKeys(context); + + if (!Flags.enableAutoclickIndicator()) { + niks.add(KEY_AUTOCLICK_SHORTCUT_PREFERENCE); + } + return niks; + } + }; } diff --git a/tests/robotests/src/com/android/settings/accessibility/ToggleAutoclickPreferenceFragmentTest.java b/tests/robotests/src/com/android/settings/accessibility/ToggleAutoclickPreferenceFragmentTest.java index 4e8ce961e55..4fccdf4af18 100644 --- a/tests/robotests/src/com/android/settings/accessibility/ToggleAutoclickPreferenceFragmentTest.java +++ b/tests/robotests/src/com/android/settings/accessibility/ToggleAutoclickPreferenceFragmentTest.java @@ -16,10 +16,15 @@ package com.android.settings.accessibility; +import static com.android.settings.accessibility.ToggleAutoclickPreferenceFragment.KEY_AUTOCLICK_SHORTCUT_PREFERENCE; + import static com.google.common.truth.Truth.assertThat; import android.app.settings.SettingsEnums; import android.content.Context; +import android.platform.test.annotations.DisableFlags; +import android.platform.test.annotations.EnableFlags; +import android.platform.test.flag.junit.SetFlagsRule; import androidx.test.core.app.ApplicationProvider; @@ -27,6 +32,7 @@ import com.android.settings.R; import com.android.settings.testutils.XmlTestUtils; import org.junit.Before; +import org.junit.Rule; import org.junit.Test; import org.junit.runner.RunWith; import org.robolectric.RobolectricTestRunner; @@ -37,6 +43,8 @@ import java.util.List; @RunWith(RobolectricTestRunner.class) public class ToggleAutoclickPreferenceFragmentTest { + @Rule public final SetFlagsRule mSetFlagsRule = new SetFlagsRule(); + private final Context mContext = ApplicationProvider.getApplicationContext(); private ToggleAutoclickPreferenceFragment mFragment; @@ -77,4 +85,22 @@ public class ToggleAutoclickPreferenceFragmentTest { assertThat(keys).containsAtLeastElementsIn(niks); } + + @Test + @DisableFlags(com.android.server.accessibility.Flags.FLAG_ENABLE_AUTOCLICK_INDICATOR) + public void getNonIndexableKeys_flagDisabled_doesNotContainShortcut() { + final List niks = ToggleAutoclickPreferenceFragment.SEARCH_INDEX_DATA_PROVIDER + .getNonIndexableKeys(mContext); + + assertThat(niks).contains(KEY_AUTOCLICK_SHORTCUT_PREFERENCE); + } + + @Test + @EnableFlags(com.android.server.accessibility.Flags.FLAG_ENABLE_AUTOCLICK_INDICATOR) + public void getNonIndexableKeys_returnsOnlyShortcutKey() { + final List niks = ToggleAutoclickPreferenceFragment.SEARCH_INDEX_DATA_PROVIDER + .getNonIndexableKeys(mContext); + + assertThat(niks).doesNotContain(KEY_AUTOCLICK_SHORTCUT_PREFERENCE); + } }