Let fragment and indexProvider share prefControllers

Bug: 35812240
Test: make RunSettingsRoboTests
Change-Id: Ifd96f935836a52e0a56f170f3cdf9b9ddf7c499a
This commit is contained in:
Fan Zhang
2017-02-28 10:52:46 -08:00
parent 6c146f2ab5
commit b00811da64
17 changed files with 265 additions and 255 deletions

View File

@@ -50,15 +50,7 @@ public class ManageAssist extends DashboardFragment {
@Override
protected List<PreferenceController> getPreferenceControllers(Context context) {
final Lifecycle lifecycle = getLifecycle();
final List<PreferenceController> controllers = new ArrayList<>();
controllers.add(new DefaultAssistPreferenceController(context));
controllers.add(new GestureAssistPreferenceController(context));
controllers.add(new AssistContextPreferenceController(context, lifecycle));
controllers.add(new AssistScreenshotPreferenceController(context, lifecycle));
controllers.add(new AssistFlashScreenPreferenceController(context, lifecycle));
controllers.add(new DefaultVoiceInputPreferenceController(context, lifecycle));
return controllers;
return buildPreferenceControllers(context, getLifecycle());
}
@Override
@@ -74,6 +66,19 @@ public class ManageAssist extends DashboardFragment {
.setTitle(R.string.assist_footer);
}
private static List<PreferenceController> buildPreferenceControllers(Context context,
Lifecycle lifecycle) {
final List<PreferenceController> controllers = new ArrayList<>();
controllers.add(new DefaultAssistPreferenceController(context));
controllers.add(new GestureAssistPreferenceController(context));
controllers.add(new AssistContextPreferenceController(context, lifecycle));
controllers.add(new AssistScreenshotPreferenceController(context, lifecycle));
controllers.add(new AssistFlashScreenPreferenceController(context, lifecycle));
controllers.add(new DefaultVoiceInputPreferenceController(context, lifecycle));
return controllers;
}
public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
new BaseSearchIndexProvider() {
@Override
@@ -85,19 +90,8 @@ public class ManageAssist extends DashboardFragment {
}
@Override
public List<String> getNonIndexableKeys(Context context) {
List<String> result = new ArrayList<>();
new DefaultAssistPreferenceController(context).updateNonIndexableKeys(result);
new GestureAssistPreferenceController(context).updateNonIndexableKeys(result);
new AssistContextPreferenceController(context, null)
.updateNonIndexableKeys(result);
new AssistScreenshotPreferenceController(context, null)
.updateNonIndexableKeys(result);
new AssistFlashScreenPreferenceController(context, null)
.updateNonIndexableKeys(result);
new DefaultVoiceInputPreferenceController(context, null)
.updateNonIndexableKeys(result);
return result;
public List<PreferenceController> getPreferenceControllers(Context context) {
return buildPreferenceControllers(context, null /* lifecycle */);
}
};
}