Use FooterPreference in xml explicitly

We don't rely on FooterPreferenceMixinCompat
to create footer preference in dashboard fragment.

Instead, declare a FooterPreference explicitly in
xml of screen.

Test: visual, robotest
Bug: 124129485
Change-Id: I4c5b60c3926583eb0d9f0d4cd6996bf169d6408c
This commit is contained in:
tmfang
2019-06-24 18:33:26 +08:00
parent 1a01faa457
commit ec83f48e0d
5 changed files with 65 additions and 121 deletions

View File

@@ -28,11 +28,8 @@ import com.android.settings.core.SettingsUIDeviceConfig;
import com.android.settings.dashboard.DashboardFragment;
import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settings.slices.SlicePreferenceController;
import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.core.lifecycle.Lifecycle;
import com.android.settingslib.search.SearchIndexable;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
@@ -66,25 +63,6 @@ public class ConnectedDeviceDashboardFragment extends DashboardFragment {
return R.xml.connected_devices;
}
@Override
protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
return buildPreferenceControllers(context, getSettingsLifecycle());
}
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;
}
@Override
public void onAttach(Context context) {
super.onAttach(context);
@@ -93,7 +71,6 @@ public class ConnectedDeviceDashboardFragment extends DashboardFragment {
use(AvailableMediaDeviceGroupController.class).init(this);
use(ConnectedDeviceGroupController.class).init(this);
use(PreviouslyConnectedDevicePreferenceController.class).init(this);
use(DiscoverableFooterPreferenceController.class).init(this);
use(SlicePreferenceController.class).setSliceUri(nearbyEnabled
? Uri.parse(getString(R.string.config_nearby_devices_slice_uri))
: null);
@@ -111,11 +88,5 @@ public class ConnectedDeviceDashboardFragment extends DashboardFragment {
sir.xmlResId = R.xml.connected_devices;
return Arrays.asList(sir);
}
@Override
public List<AbstractPreferenceController> createPreferenceControllers(Context
context) {
return buildPreferenceControllers(context, null /* lifecycle */);
}
};
}