[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;

View File

@@ -277,12 +277,12 @@ public class SubscriptionsPreferenceController extends AbstractPreferenceControl
final boolean isDataInService = tmForSubId.getDataState()
== TelephonyManager.DATA_CONNECTED;
final boolean isActiveCarrierNetwork =
final boolean isCarrierNetworkActive =
(mWifiPickerTrackerHelper != null)
&& mWifiPickerTrackerHelper.isActiveCarrierNetwork();
&& mWifiPickerTrackerHelper.isCarrierNetworkActive();
String result = mSubsPrefCtrlInjector.getNetworkType(
mContext, mConfig, mTelephonyDisplayInfo, subId, isActiveCarrierNetwork);
if (mSubsPrefCtrlInjector.isActiveCellularNetwork(mContext) || isActiveCarrierNetwork) {
mContext, mConfig, mTelephonyDisplayInfo, subId, isCarrierNetworkActive);
if (mSubsPrefCtrlInjector.isActiveCellularNetwork(mContext) || isCarrierNetworkActive) {
Log.i(TAG, "Active cellular network or active carrier network.");
result = mContext.getString(R.string.preference_summary_default_combination,
mContext.getString(R.string.mobile_data_connection_active), result);
@@ -306,7 +306,7 @@ public class SubscriptionsPreferenceController extends AbstractPreferenceControl
final boolean isActiveCellularNetwork =
mSubsPrefCtrlInjector.isActiveCellularNetwork(mContext);
if (isActiveCellularNetwork || (mWifiPickerTrackerHelper != null)
&& mWifiPickerTrackerHelper.isActiveCarrierNetwork()) {
&& mWifiPickerTrackerHelper.isCarrierNetworkActive()) {
icon.setTint(Utils.getColorAccentDefaultColor(mContext));
return icon;
}

View File

@@ -261,7 +261,7 @@ public class NetworkProviderWorker extends WifiScanWorker implements
String iconKey = getIconKey(telephonyDisplayInfo);
int resId = mapIconSets(config).get(iconKey).dataContentDescription;
if (mWifiPickerTrackerHelper != null
&& mWifiPickerTrackerHelper.isActiveCarrierNetwork()) {
&& mWifiPickerTrackerHelper.isCarrierNetworkActive()) {
MobileIconGroup carrierMergedWifiIconGroup = TelephonyIcons.CARRIER_MERGED_WIFI;
resId = carrierMergedWifiIconGroup.dataContentDescription;
return resId != 0