[Wi-Fi] Apply WifiEntry onUpdate to support refresh WiFi detail page for OpenRoaming feature.
Issue: The preference UIs status didn't chage dynamically. Solution: update the preference UI status when onUpdated is called. Bug: 146669261 Test: 1.manually mofidy framework to test. 2.The getAvailabilityStatus() already tested in WifiSubscriptionDetailPreferenceController2Test. Change-Id: I51b5e67df7998d7d3e9ede9ead7aa49ad574c7a3
This commit is contained in:
@@ -967,6 +967,9 @@ public class WifiDetailPreferenceController2 extends AbstractPreferenceControlle
|
|||||||
@Override
|
@Override
|
||||||
public void onUpdated() {
|
public void onUpdated() {
|
||||||
refreshPage();
|
refreshPage();
|
||||||
|
|
||||||
|
// Refresh the Preferences in fragment.
|
||||||
|
((WifiNetworkDetailsFragment2) mFragment).refreshPreferences();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -33,6 +33,8 @@ import android.view.Menu;
|
|||||||
import android.view.MenuInflater;
|
import android.view.MenuInflater;
|
||||||
import android.view.MenuItem;
|
import android.view.MenuItem;
|
||||||
|
|
||||||
|
import androidx.preference.PreferenceScreen;
|
||||||
|
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
import com.android.settings.dashboard.DashboardFragment;
|
import com.android.settings.dashboard.DashboardFragment;
|
||||||
import com.android.settings.wifi.WifiConfigUiBase2;
|
import com.android.settings.wifi.WifiConfigUiBase2;
|
||||||
@@ -71,6 +73,7 @@ public class WifiNetworkDetailsFragment2 extends DashboardFragment implements
|
|||||||
private HandlerThread mWorkerThread;
|
private HandlerThread mWorkerThread;
|
||||||
private WifiDetailPreferenceController2 mWifiDetailPreferenceController2;
|
private WifiDetailPreferenceController2 mWifiDetailPreferenceController2;
|
||||||
private List<WifiDialog2.WifiDialog2Listener> mWifiDialogListeners = new ArrayList<>();
|
private List<WifiDialog2.WifiDialog2Listener> mWifiDialogListeners = new ArrayList<>();
|
||||||
|
private List<AbstractPreferenceController> mControllers;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onDestroy() {
|
public void onDestroy() {
|
||||||
@@ -139,7 +142,7 @@ public class WifiNetworkDetailsFragment2 extends DashboardFragment implements
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
|
protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
|
||||||
final List<AbstractPreferenceController> controllers = new ArrayList<>();
|
mControllers = new ArrayList<>();
|
||||||
final ConnectivityManager cm = context.getSystemService(ConnectivityManager.class);
|
final ConnectivityManager cm = context.getSystemService(ConnectivityManager.class);
|
||||||
setupNetworksDetailTracker();
|
setupNetworksDetailTracker();
|
||||||
final WifiEntry wifiEntry = mNetworkDetailsTracker.getWifiEntry();
|
final WifiEntry wifiEntry = mNetworkDetailsTracker.getWifiEntry();
|
||||||
@@ -153,39 +156,39 @@ public class WifiNetworkDetailsFragment2 extends DashboardFragment implements
|
|||||||
getSettingsLifecycle(),
|
getSettingsLifecycle(),
|
||||||
context.getSystemService(WifiManager.class),
|
context.getSystemService(WifiManager.class),
|
||||||
mMetricsFeatureProvider);
|
mMetricsFeatureProvider);
|
||||||
controllers.add(mWifiDetailPreferenceController2);
|
mControllers.add(mWifiDetailPreferenceController2);
|
||||||
|
|
||||||
final WifiAutoConnectPreferenceController2 wifiAutoConnectPreferenceController2 =
|
final WifiAutoConnectPreferenceController2 wifiAutoConnectPreferenceController2 =
|
||||||
new WifiAutoConnectPreferenceController2(context);
|
new WifiAutoConnectPreferenceController2(context);
|
||||||
wifiAutoConnectPreferenceController2.setWifiEntry(wifiEntry);
|
wifiAutoConnectPreferenceController2.setWifiEntry(wifiEntry);
|
||||||
controllers.add(wifiAutoConnectPreferenceController2);
|
mControllers.add(wifiAutoConnectPreferenceController2);
|
||||||
|
|
||||||
final AddDevicePreferenceController2 addDevicePreferenceController2 =
|
final AddDevicePreferenceController2 addDevicePreferenceController2 =
|
||||||
new AddDevicePreferenceController2(context);
|
new AddDevicePreferenceController2(context);
|
||||||
addDevicePreferenceController2.setWifiEntry(wifiEntry);
|
addDevicePreferenceController2.setWifiEntry(wifiEntry);
|
||||||
controllers.add(addDevicePreferenceController2);
|
mControllers.add(addDevicePreferenceController2);
|
||||||
|
|
||||||
final WifiMeteredPreferenceController2 meteredPreferenceController2 =
|
final WifiMeteredPreferenceController2 meteredPreferenceController2 =
|
||||||
new WifiMeteredPreferenceController2(context, wifiEntry);
|
new WifiMeteredPreferenceController2(context, wifiEntry);
|
||||||
controllers.add(meteredPreferenceController2);
|
mControllers.add(meteredPreferenceController2);
|
||||||
|
|
||||||
final WifiPrivacyPreferenceController2 privacyController2 =
|
final WifiPrivacyPreferenceController2 privacyController2 =
|
||||||
new WifiPrivacyPreferenceController2(context);
|
new WifiPrivacyPreferenceController2(context);
|
||||||
privacyController2.setWifiEntry(wifiEntry);
|
privacyController2.setWifiEntry(wifiEntry);
|
||||||
controllers.add(privacyController2);
|
mControllers.add(privacyController2);
|
||||||
|
|
||||||
final WifiSubscriptionDetailPreferenceController2
|
final WifiSubscriptionDetailPreferenceController2
|
||||||
wifiSubscriptionDetailPreferenceController2 =
|
wifiSubscriptionDetailPreferenceController2 =
|
||||||
new WifiSubscriptionDetailPreferenceController2(context);
|
new WifiSubscriptionDetailPreferenceController2(context);
|
||||||
wifiSubscriptionDetailPreferenceController2.setWifiEntry(wifiEntry);
|
wifiSubscriptionDetailPreferenceController2.setWifiEntry(wifiEntry);
|
||||||
controllers.add(wifiSubscriptionDetailPreferenceController2);
|
mControllers.add(wifiSubscriptionDetailPreferenceController2);
|
||||||
|
|
||||||
// Sets callback listener for wifi dialog.
|
// Sets callback listener for wifi dialog.
|
||||||
mWifiDialogListeners.add(mWifiDetailPreferenceController2);
|
mWifiDialogListeners.add(mWifiDetailPreferenceController2);
|
||||||
mWifiDialogListeners.add(privacyController2);
|
mWifiDialogListeners.add(privacyController2);
|
||||||
mWifiDialogListeners.add(meteredPreferenceController2);
|
mWifiDialogListeners.add(meteredPreferenceController2);
|
||||||
|
|
||||||
return controllers;
|
return mControllers;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -225,4 +228,14 @@ public class WifiNetworkDetailsFragment2 extends DashboardFragment implements
|
|||||||
SCAN_INTERVAL_MILLIS,
|
SCAN_INTERVAL_MILLIS,
|
||||||
getArguments().getString(KEY_CHOSEN_WIFIENTRY_KEY));
|
getArguments().getString(KEY_CHOSEN_WIFIENTRY_KEY));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* API call for refreshing the preferences in this fragment.
|
||||||
|
*/
|
||||||
|
public void refreshPreferences() {
|
||||||
|
final PreferenceScreen screen = getPreferenceScreen();
|
||||||
|
for (AbstractPreferenceController controller : mControllers) {
|
||||||
|
controller.displayPreference(screen);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user