From 664df0f4cc6d582cb70e571a450c392ffd42283d Mon Sep 17 00:00:00 2001 From: Yuhan Yang Date: Fri, 21 Feb 2025 04:33:51 +0000 Subject: [PATCH] Update autoclick shortcut searchable Add autoclick shortcut to search index when enable_autoclick_indicator flag is enabled. Hide it when the flag is off. Bug: 397719419 Test: atest ToggleAutoclickPreferenceFragmentTest Flag: com.android.server.accessibility.enable_autoclick_indicator Change-Id: Ib6d25067d024ff0dbea64d17d38fc544c615db97 --- res/xml/accessibility_autoclick_settings.xml | 3 +-- .../ToggleAutoclickPreferenceFragment.java | 17 +++++++++++- ...ToggleAutoclickPreferenceFragmentTest.java | 26 +++++++++++++++++++ 3 files changed, 43 insertions(+), 3 deletions(-) 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); + } }