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

@@ -22,6 +22,7 @@ import android.provider.SearchIndexableResource;
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;
@@ -51,8 +52,13 @@ public class DoubleTapPowerSettings 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 DoubleTapPowerPreferenceController(context, getLifecycle()));
controllers.add(new DoubleTapPowerPreferenceController(context, lifecycle));
return controllers;
}
@@ -69,5 +75,10 @@ public class DoubleTapPowerSettings extends DashboardFragment {
sir.xmlResId = R.xml.double_tap_power_settings;
return Arrays.asList(sir);
}
@Override
public List<PreferenceController> getPreferenceControllers(Context context) {
return buildPreferenceControllers(context, null /* lifecycle */);
}
};
}