diff options
author | Fan Zhang <zhfan@google.com> | 2018-03-06 16:18:10 -0800 |
---|---|---|
committer | Fan Zhang <zhfan@google.com> | 2018-03-07 10:00:57 -0800 |
commit | 02caf0f86173f5b109ce19a086adc1728991f817 (patch) | |
tree | 429859c6b07b2591d38e9dfdbe384a427e6b6467 /src/com/android/settings/users | |
parent | 3c5aeac39fb4d81eb2dc79bd447b6806e591e2b3 (diff) | |
download | packages_apps_Settings-02caf0f86173f5b109ce19a086adc1728991f817.tar.gz packages_apps_Settings-02caf0f86173f5b109ce19a086adc1728991f817.tar.bz2 packages_apps_Settings-02caf0f86173f5b109ce19a086adc1728991f817.zip |
Misc fixes to improve search
- Suppress one of results from "On lock screen"
- Remove screen title from sub sections in data usage screen.
- On UserSettins, index using resource instead raw. And build
non-indexables using getNonIndexable and pref controlleres.
Change-Id: I947a97af60f1a08b237fda2f3c456cf1105b9231
Fixes: 74120518
Fixes: 74119743
Fixes: 74250251
Fixes: 74119687
Test: reindex
Diffstat (limited to 'src/com/android/settings/users')
-rw-r--r-- | src/com/android/settings/users/UserSettings.java | 63 |
1 files changed, 31 insertions, 32 deletions
diff --git a/src/com/android/settings/users/UserSettings.java b/src/com/android/settings/users/UserSettings.java index 3c16b073c7..4ca7e63d50 100644 --- a/src/com/android/settings/users/UserSettings.java +++ b/src/com/android/settings/users/UserSettings.java @@ -41,6 +41,7 @@ import android.os.RemoteException; import android.os.UserHandle; import android.os.UserManager; import android.provider.ContactsContract; +import android.provider.SearchIndexableResource; import android.provider.Settings.Global; import android.support.annotation.VisibleForTesting; import android.support.annotation.WorkerThread; @@ -68,7 +69,6 @@ import com.android.settings.dashboard.SummaryLoader; import com.android.settings.password.ChooseLockGeneric; import com.android.settings.search.BaseSearchIndexProvider; import com.android.settings.search.Indexable; -import com.android.settings.search.SearchIndexableRaw; import com.android.settingslib.RestrictedLockUtils; import com.android.settingslib.RestrictedLockUtils.EnforcedAdmin; import com.android.settingslib.RestrictedPreference; @@ -203,7 +203,6 @@ public class UserSettings extends SettingsPreferenceFragment final Context context = getActivity(); mAddUserWhenLockedPreferenceController = new AddUserWhenLockedPreferenceController( context, KEY_ADD_USER_WHEN_LOCKED, getLifecycle()); - mAutoSyncDataPreferenceController = new AutoSyncDataPreferenceController(context, this); mAutoSyncPersonalDataPreferenceController = new AutoSyncPersonalDataPreferenceController(context, this); @@ -1186,41 +1185,41 @@ public class UserSettings extends SettingsPreferenceFragment } public static final SummaryLoader.SummaryProviderFactory SUMMARY_PROVIDER_FACTORY = - new SummaryLoader.SummaryProviderFactory() { - @Override - public SummaryLoader.SummaryProvider createSummaryProvider(Activity activity, - SummaryLoader summaryLoader) { - return new SummaryProvider(activity, summaryLoader); - } - }; + (activity, summaryLoader) -> new SummaryProvider(activity, summaryLoader); public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER = new BaseSearchIndexProvider() { + @Override - public List<SearchIndexableRaw> getRawDataToIndex(Context context, - boolean enabled) { - final List<SearchIndexableRaw> result = new ArrayList<>(); + protected boolean isPageSearchEnabled(Context context) { final UserCapabilities userCaps = UserCapabilities.create(context); - if (!userCaps.mEnabled) { - return result; - } - final Resources res = context.getResources(); - SearchIndexableRaw data = new SearchIndexableRaw(context); - data.title = res.getString(R.string.user_settings_title); - data.key = "users_settings"; - data.screenTitle = res.getString(R.string.user_settings_title); - result.add(data); - - if (userCaps.mCanAddUser || userCaps.mDisallowAddUserSetByAdmin) { - data = new SearchIndexableRaw(context); - data.title = res.getString(userCaps.mCanAddRestrictedProfile ? - R.string.user_add_user_or_profile_menu - : R.string.user_add_user_menu); - data.screenTitle = res.getString(R.string.user_settings_title); - data.key = "user_settings_add_users"; - result.add(data); - } - return result; + return userCaps.mEnabled; + } + + @Override + public List<SearchIndexableResource> getXmlResourcesToIndex(Context context, + boolean enabled) { + final List<SearchIndexableResource> index = new ArrayList<>(); + // Append the rest of the settings + final SearchIndexableResource sir = new SearchIndexableResource(context); + sir.xmlResId = R.xml.user_settings; + index.add(sir); + return index; + } + + @Override + public List<String> getNonIndexableKeysFromXml(Context context, int xmlResId) { + final List<String> niks = super.getNonIndexableKeysFromXml(context, xmlResId); + new AddUserWhenLockedPreferenceController( + context, KEY_ADD_USER_WHEN_LOCKED, null /* lifecycle */) + .updateNonIndexableKeys(niks); + new AutoSyncDataPreferenceController(context, null /* parent */) + .updateNonIndexableKeys(niks); + new AutoSyncPersonalDataPreferenceController(context, null /* parent */) + .updateNonIndexableKeys(niks); + new AutoSyncWorkDataPreferenceController(context, null /* parent */) + .updateNonIndexableKeys(niks); + return niks; } }; |