Merge "Fix Settings Search for OneHandedSettings" into main

This commit is contained in:
Daniel Norman
2024-11-11 02:25:09 +00:00
committed by Android (Google) Code Review
3 changed files with 69 additions and 2 deletions

View File

@@ -16,6 +16,8 @@
package com.android.settings.gestures;
import static com.android.settings.gestures.OneHandedSettings.ONE_HANDED_SHORTCUT_KEY;
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Mockito.spy;
@@ -23,14 +25,19 @@ import static org.mockito.Mockito.when;
import android.content.Context;
import android.os.SystemProperties;
import android.platform.test.annotations.DisableFlags;
import android.platform.test.annotations.EnableFlags;
import android.platform.test.flag.junit.SetFlagsRule;
import android.provider.SearchIndexableResource;
import androidx.test.core.app.ApplicationProvider;
import com.android.settings.R;
import com.android.settings.accessibility.AccessibilityUtil.QuickSettingsTooltipType;
import com.android.settingslib.search.SearchIndexableRaw;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.RobolectricTestRunner;
@@ -43,12 +50,16 @@ import java.util.List;
@RunWith(RobolectricTestRunner.class)
public class OneHandedSettingsTest {
@Rule
public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
private final Context mContext = ApplicationProvider.getApplicationContext();
private OneHandedSettings mSettings;
@Before
public void setUp() {
mSettings = spy(new OneHandedSettings());
SystemProperties.set(OneHandedSettingsUtils.SUPPORT_ONE_HANDED_MODE, "true");
}
@Test
@@ -102,4 +113,35 @@ public class OneHandedSettingsTest {
final boolean isEnabled = (Boolean) obj;
assertThat(isEnabled).isFalse();
}
@Test
@DisableFlags(com.android.settings.accessibility.Flags.FLAG_FIX_A11Y_SETTINGS_SEARCH)
public void getRawDataToIndex_flagDisabled_isEmpty() {
final List<SearchIndexableRaw> rawData = OneHandedSettings
.SEARCH_INDEX_DATA_PROVIDER.getRawDataToIndex(mContext, true);
final List<String> actualSearchKeys = rawData.stream().map(raw -> raw.key).toList();
assertThat(actualSearchKeys).isEmpty();
}
@Test
@EnableFlags(com.android.settings.accessibility.Flags.FLAG_FIX_A11Y_SETTINGS_SEARCH)
public void getRawDataToIndex_returnsOnlyShortcutKey() {
final List<SearchIndexableRaw> rawData = OneHandedSettings
.SEARCH_INDEX_DATA_PROVIDER.getRawDataToIndex(mContext, true);
final List<String> actualSearchKeys = rawData.stream().map(raw -> raw.key).toList();
assertThat(actualSearchKeys).containsExactly(ONE_HANDED_SHORTCUT_KEY);
}
@Test
public void getNonIndexableKeys_containsNonSearchableElements() {
final List<String> niks = OneHandedSettings.SEARCH_INDEX_DATA_PROVIDER
.getNonIndexableKeys(mContext);
assertThat(niks).containsExactly(
"gesture_one_handed_mode_intro",
"one_handed_header",
"one_handed_mode_footer");
}
}