[Passpointv2] Implement Wi-Fi detail page for saved network

Will show a Wi-Fi status detail page when clicking a saved network.

Bug: 124695272
Test: Manual
Change-Id: I5f32cf63f369593ad49c93ceeaace9fb623888e5
This commit is contained in:
cosmohsieh
2019-02-20 13:26:08 +08:00
parent 6934475d69
commit b5dac6bacf
4 changed files with 153 additions and 13 deletions

View File

@@ -51,6 +51,9 @@ public class WifiNetworkDetailsFragment extends DashboardFragment {
private static final String TAG = "WifiNetworkDetailsFrg";
// Extra for if current fragment shows saved network status or not.
public static final String EXTRA_IS_SAVED_NETWORK = "SavedNetwork";
private AccessPoint mAccessPoint;
private WifiDetailPreferenceController mWifiDetailPreferenceController;
@@ -122,15 +125,31 @@ public class WifiNetworkDetailsFragment extends DashboardFragment {
protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
final List<AbstractPreferenceController> controllers = new ArrayList<>();
final ConnectivityManager cm = context.getSystemService(ConnectivityManager.class);
mWifiDetailPreferenceController = WifiDetailPreferenceController.newInstance(
mAccessPoint,
cm,
context,
this,
new Handler(Looper.getMainLooper()), // UI thread.
getSettingsLifecycle(),
context.getSystemService(WifiManager.class),
mMetricsFeatureProvider);
final boolean isDisplaySavedNetworkDetails =
getArguments().getBoolean(EXTRA_IS_SAVED_NETWORK, false /* defaultValue */);
if (isDisplaySavedNetworkDetails) {
mWifiDetailPreferenceController =
WifiDetailSavedNetworkPreferenceController.newInstance(
mAccessPoint,
cm,
context,
this,
new Handler(Looper.getMainLooper()), // UI thread.
getSettingsLifecycle(),
context.getSystemService(WifiManager.class),
mMetricsFeatureProvider);
} else {
mWifiDetailPreferenceController = WifiDetailPreferenceController.newInstance(
mAccessPoint,
cm,
context,
this,
new Handler(Looper.getMainLooper()), // UI thread.
getSettingsLifecycle(),
context.getSystemService(WifiManager.class),
mMetricsFeatureProvider);
}
controllers.add(mWifiDetailPreferenceController);
controllers.add(new WifiMeteredPreferenceController(context, mAccessPoint.getConfig()));