Fix the Wi-Fi detailed settings un-editable issue.
- The WifiEntry info might not be ready in early stage. (ex: WifiEntry#canSetPrivacy()) - The Wi-Fi detailed setting listens to the WifiEntry callback to refresh the preferences, it should first update the preference status to be editable or not, and then display preferences to the UI. - The privicy preference should be able to set back to selectable when WifiEntry#canSetPrivicy() change from false to true. Bug: 170148009 Test: make RunSettingsRoboTests ROBOTEST_FILTER=WifiNetworkDetailsFragment2Test make RunSettingsRoboTests ROBOTEST_FILTER=WifiPrivacyPreferenceController2Test Change-Id: I48ca060e6b468232f19c82e9de0ce4fce39cba7f Merged-In: I567b2b80163631a01d165c0ac5c0aba392e014ef
This commit is contained in:
@@ -36,6 +36,7 @@ import android.view.Menu;
|
||||
import android.view.MenuInflater;
|
||||
import android.view.MenuItem;
|
||||
|
||||
import androidx.annotation.VisibleForTesting;
|
||||
import androidx.preference.PreferenceScreen;
|
||||
|
||||
import com.android.settings.R;
|
||||
@@ -78,7 +79,8 @@ public class WifiNetworkDetailsFragment2 extends DashboardFragment implements
|
||||
private HandlerThread mWorkerThread;
|
||||
private WifiDetailPreferenceController2 mWifiDetailPreferenceController2;
|
||||
private List<WifiDialog2.WifiDialog2Listener> mWifiDialogListeners = new ArrayList<>();
|
||||
private List<AbstractPreferenceController> mControllers;
|
||||
@VisibleForTesting
|
||||
List<AbstractPreferenceController> mControllers;
|
||||
|
||||
@Override
|
||||
public void onDestroy() {
|
||||
@@ -255,6 +257,11 @@ public class WifiNetworkDetailsFragment2 extends DashboardFragment implements
|
||||
* API call for refreshing the preferences in this fragment.
|
||||
*/
|
||||
public void refreshPreferences() {
|
||||
updatePreferenceStates();
|
||||
displayPreferenceControllers();
|
||||
}
|
||||
|
||||
protected void displayPreferenceControllers() {
|
||||
final PreferenceScreen screen = getPreferenceScreen();
|
||||
for (AbstractPreferenceController controller : mControllers) {
|
||||
// WifiDetailPreferenceController2 gets the callback WifiEntryCallback#onUpdated,
|
||||
|
Reference in New Issue
Block a user