[Provider Model] Hide W+ network if it's inactive

Bug: 187854575
Test: manual test
atest -c CarrierWifiTogglePreferenceControllerTest \
         SubscriptionsPreferenceControllerTest

Change-Id: Ib99bc7fef38a99c1da1e365c2002ad30c617d445
This commit is contained in:
Weng Su
2021-06-11 17:05:21 +08:00
parent 9f7564c1b6
commit c4eb3b1320
6 changed files with 59 additions and 29 deletions

View File

@@ -78,7 +78,6 @@ public class CarrierWifiTogglePreferenceController extends TogglePreferenceContr
return false;
}
mWifiPickerTrackerHelper.setCarrierNetworkEnabled(isChecked);
updateCarrierNetworkPreference(isChecked);
return true;
}
@@ -86,21 +85,17 @@ public class CarrierWifiTogglePreferenceController extends TogglePreferenceContr
public void displayPreference(PreferenceScreen screen) {
super.displayPreference(screen);
mCarrierNetworkPreference = screen.findPreference(CARRIER_WIFI_NETWORK_PREF_KEY);
updateCarrierNetworkPreference(isChecked());
updateCarrierNetworkPreference();
}
@Override
public void onWifiStateChanged() {
if (mCarrierNetworkPreference != null && mCarrierNetworkPreference.isVisible()) {
mCarrierNetworkPreference.setSummary(getCarrierNetworkSsid());
}
updateCarrierNetworkPreference();
}
@Override
public void onWifiEntriesChanged() {
if (mCarrierNetworkPreference != null && mCarrierNetworkPreference.isVisible()) {
mCarrierNetworkPreference.setSummary(getCarrierNetworkSsid());
}
updateCarrierNetworkPreference();
}
@Override
@@ -113,11 +108,11 @@ public class CarrierWifiTogglePreferenceController extends TogglePreferenceContr
// Do nothing
}
protected void updateCarrierNetworkPreference(boolean isCarrierNetworkEnabled) {
protected void updateCarrierNetworkPreference() {
if (mCarrierNetworkPreference == null) {
return;
}
if (!isCarrierNetworkEnabled || getAvailabilityStatus() != AVAILABLE) {
if (getAvailabilityStatus() != AVAILABLE || !isCarrierNetworkActive()) {
mCarrierNetworkPreference.setVisible(false);
return;
}
@@ -125,6 +120,13 @@ public class CarrierWifiTogglePreferenceController extends TogglePreferenceContr
mCarrierNetworkPreference.setSummary(getCarrierNetworkSsid());
}
protected boolean isCarrierNetworkActive() {
if (mWifiPickerTrackerHelper == null) {
return false;
}
return mWifiPickerTrackerHelper.isCarrierNetworkActive();
}
protected String getCarrierNetworkSsid() {
if (mWifiPickerTrackerHelper == null) {
return null;