Make device discoverable in Connected Devices settings page

* For fix the TreeHugger error in pi-dev, cherry pick the ag/4042235 in
  master and fix TreeHugger error. Change android.support.v7.* to androidx.*
* Set preference title by bluetooth state
* Enable bluetooth discoverable mode in Connected device page
* Add more test cases for DiscoverableFooterPreferenceController

Bug: 79294219
Test: make -j50 RunSettingsRoboTests
Change-Id: I6d4f8ec3870c43bf48e9666eabd60068aa8950bb
This commit is contained in:
timhypeng
2018-05-11 15:41:10 +08:00
committed by tim peng
parent dd2d5c192f
commit 444d490e7f
4 changed files with 188 additions and 14 deletions

View File

@@ -27,6 +27,7 @@ import com.android.settings.dashboard.SummaryLoader;
import com.android.settings.nfc.NfcPreferenceController;
import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.core.lifecycle.Lifecycle;
import com.android.settingslib.search.SearchIndexable;
import java.util.ArrayList;
@@ -65,15 +66,20 @@ public class ConnectedDeviceDashboardFragment extends DashboardFragment {
@Override
protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
return buildPreferenceControllers(context);
return buildPreferenceControllers(context, getLifecycle());
}
private static List<AbstractPreferenceController> buildPreferenceControllers(Context context) {
private static List<AbstractPreferenceController> buildPreferenceControllers(Context context,
Lifecycle lifecycle) {
final List<AbstractPreferenceController> controllers = new ArrayList<>();
final DiscoverableFooterPreferenceController discoverableFooterPreferenceController =
new DiscoverableFooterPreferenceController(context);
controllers.add(discoverableFooterPreferenceController);
if (lifecycle != null) {
lifecycle.addObserver(discoverableFooterPreferenceController);
}
return controllers;
}
@@ -128,6 +134,12 @@ public class ConnectedDeviceDashboardFragment extends DashboardFragment {
return Arrays.asList(sir);
}
@Override
public List<AbstractPreferenceController> createPreferenceControllers(Context
context) {
return buildPreferenceControllers(context, null /* lifecycle */);
}
@Override
public List<String> getNonIndexableKeys(Context context) {
List<String> keys = super.getNonIndexableKeys(context);