From 25c5e3ce6cc56515df473ae50062873383a9257c Mon Sep 17 00:00:00 2001 From: Stanley Wang Date: Mon, 2 Dec 2019 17:50:21 +0800 Subject: [PATCH] Add the item in Language page to dynamic index. Add "Add a language" item to dynamic index. Fixes: 145492913 Test: maunal & robotest Change-Id: Ife3ee7c90eb6c81e4ce042db4cd585a0993fb5fe --- res/values/strings.xml | 3 +++ .../localepicker/LocaleListEditor.java | 24 +++++++++++++++++++ ...randfather_not_implementing_index_provider | 1 - 3 files changed, 27 insertions(+), 1 deletion(-) diff --git a/res/values/strings.xml b/res/values/strings.xml index 63dee46c6e1..b82f3863da4 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -7347,6 +7347,9 @@ volte, advanced calling, 4g calling + + add language, add a language + Default sound diff --git a/src/com/android/settings/localepicker/LocaleListEditor.java b/src/com/android/settings/localepicker/LocaleListEditor.java index bee51529561..0666e0bebeb 100644 --- a/src/com/android/settings/localepicker/LocaleListEditor.java +++ b/src/com/android/settings/localepicker/LocaleListEditor.java @@ -20,8 +20,10 @@ import static android.os.UserManager.DISALLOW_CONFIG_LOCALE; import android.app.Activity; import android.app.settings.SettingsEnums; +import android.content.Context; import android.content.DialogInterface; import android.content.Intent; +import android.content.res.Resources; import android.os.Bundle; import android.os.LocaleList; import android.view.LayoutInflater; @@ -39,6 +41,9 @@ import com.android.internal.app.LocalePicker; import com.android.internal.app.LocaleStore; import com.android.settings.R; import com.android.settings.RestrictedSettingsFragment; +import com.android.settings.search.BaseSearchIndexProvider; +import com.android.settingslib.search.SearchIndexable; +import com.android.settingslib.search.SearchIndexableRaw; import java.util.ArrayList; import java.util.List; @@ -47,6 +52,7 @@ import java.util.Locale; /** * Drag-and-drop editor for the user-ordered locale lists. */ +@SearchIndexable public class LocaleListEditor extends RestrictedSettingsFragment { protected static final String INTENT_LOCALE_KEY = "localeInfo"; @@ -55,6 +61,8 @@ public class LocaleListEditor extends RestrictedSettingsFragment { private static final int MENU_ID_REMOVE = Menu.FIRST + 1; private static final int REQUEST_LOCALE_PICKER = 0; + private static final String INDEX_KEY_ADD_LANGUAGE = "add_language"; + private LocaleDragAndDropAdapter mAdapter; private Menu mMenu; private View mAddLanguage; @@ -304,4 +312,20 @@ public class LocaleListEditor extends RestrictedSettingsFragment { menuItemRemove.setVisible(hasMultipleLanguages && !mIsUiRestricted); } } + + public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER = + new BaseSearchIndexProvider() { + @Override + public List getRawDataToIndex(Context context, + boolean enabled) { + final Resources res = context.getResources(); + final List indexRaws = new ArrayList<>(); + final SearchIndexableRaw raw = new SearchIndexableRaw(context); + raw.key = INDEX_KEY_ADD_LANGUAGE; + raw.title = res.getString(R.string.add_a_language); + raw.keywords = res.getString(R.string.keywords_add_language); + indexRaws.add(raw); + return indexRaws; + } + }; } diff --git a/tests/robotests/assets/grandfather_not_implementing_index_provider b/tests/robotests/assets/grandfather_not_implementing_index_provider index db4b1e930e8..f15cff09de9 100644 --- a/tests/robotests/assets/grandfather_not_implementing_index_provider +++ b/tests/robotests/assets/grandfather_not_implementing_index_provider @@ -54,7 +54,6 @@ com.android.settings.IccLockSettings com.android.settings.inputmethod.InputMethodAndSubtypeEnabler com.android.settings.inputmethod.KeyboardLayoutPickerFragment com.android.settings.inputmethod.SpellCheckersSettings -com.android.settings.localepicker.LocaleListEditor com.android.settings.location.LocationPersonalSettings com.android.settings.location.LocationWorkProfileSettings com.android.settings.network.ApnEditor