Share preference controllers between fragment/searchIndexer

Test: make RunSettingsRoboTests
Change-Id: I9042bac87b7c063b89c143d3089ed4d94f77b994
Fix: 35812240
This commit is contained in:
Fan Zhang
2017-03-02 15:17:48 -08:00
parent 64fee1cfe1
commit 801be627fc
7 changed files with 73 additions and 12 deletions

View File

@@ -24,6 +24,7 @@ import com.android.internal.hardware.AmbientDisplayConfiguration;
import com.android.internal.logging.nano.MetricsProto;
import com.android.settings.R;
import com.android.settings.core.PreferenceController;
import com.android.settings.core.lifecycle.Lifecycle;
import com.android.settings.dashboard.DashboardFragment;
import com.android.settings.overlay.FeatureFactory;
import com.android.settings.search.BaseSearchIndexProvider;
@@ -53,8 +54,13 @@ public class DoubleTapScreenSettings extends DashboardFragment {
@Override
protected List<PreferenceController> getPreferenceControllers(Context context) {
return buildPreferenceControllers(context, getLifecycle());
}
private static List<PreferenceController> buildPreferenceControllers(Context context,
Lifecycle lifecycle) {
final List<PreferenceController> controllers = new ArrayList<>();
controllers.add(new DoubleTapScreenPreferenceController(context, getLifecycle(),
controllers.add(new DoubleTapScreenPreferenceController(context, lifecycle,
new AmbientDisplayConfiguration(context), UserHandle.myUserId()));
return controllers;
}
@@ -72,5 +78,10 @@ public class DoubleTapScreenSettings extends DashboardFragment {
sir.xmlResId = R.xml.double_tap_screen_settings;
return Arrays.asList(sir);
}
@Override
public List<PreferenceController> getPreferenceControllers(Context context) {
return buildPreferenceControllers(context, null /* lifecycle */);
}
};
}