[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:
@@ -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;
|
||||
|
@@ -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;
|
||||
}
|
||||
|
@@ -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
|
||||
|
@@ -139,8 +139,8 @@ public class WifiPickerTrackerHelper implements LifecycleObserver {
|
||||
return true;
|
||||
}
|
||||
|
||||
/** Confirms connection of the carrier network */
|
||||
public boolean isActiveCarrierNetwork() {
|
||||
/** Confirms connection of the carrier network connected with the internet access */
|
||||
public boolean isCarrierNetworkActive() {
|
||||
final MergedCarrierEntry mergedCarrierEntry = mWifiPickerTracker.getMergedCarrierEntry();
|
||||
if (mergedCarrierEntry != null) {
|
||||
return mergedCarrierEntry.getConnectedState() == WifiEntry.CONNECTED_STATE_CONNECTED
|
||||
|
@@ -72,8 +72,10 @@ public class CarrierWifiTogglePreferenceControllerTest {
|
||||
mController.init(mock(Lifecycle.class), SUB_ID);
|
||||
mController.mIsProviderModelEnabled = true;
|
||||
mController.mIsCarrierProvisionWifiEnabled = true;
|
||||
doReturn(true).when(mWifiPickerTrackerHelper).isCarrierNetworkActive();
|
||||
doReturn(SSID).when(mWifiPickerTrackerHelper).getCarrierNetworkSsid();
|
||||
mController.mWifiPickerTrackerHelper = mWifiPickerTrackerHelper;
|
||||
|
||||
if (Looper.myLooper() == null) {
|
||||
Looper.prepare();
|
||||
}
|
||||
@@ -87,6 +89,7 @@ public class CarrierWifiTogglePreferenceControllerTest {
|
||||
mNetworkPreference.setKey(
|
||||
CarrierWifiTogglePreferenceController.CARRIER_WIFI_NETWORK_PREF_KEY);
|
||||
mScreen.addPreference(mNetworkPreference);
|
||||
mController.mCarrierNetworkPreference = mNetworkPreference;
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -139,8 +142,9 @@ public class CarrierWifiTogglePreferenceControllerTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void displayPreference_carrierNetworkEnabled_showCarrierNetwork() {
|
||||
doReturn(true).when(mWifiPickerTrackerHelper).isCarrierNetworkEnabled(SUB_ID);
|
||||
public void displayPreference_carrierNetworkActive_showCarrierNetwork() {
|
||||
doReturn(true).when(mWifiPickerTrackerHelper).isCarrierNetworkActive();
|
||||
doReturn(SSID).when(mWifiPickerTrackerHelper).getCarrierNetworkSsid();
|
||||
|
||||
mController.displayPreference(mScreen);
|
||||
|
||||
@@ -150,8 +154,8 @@ public class CarrierWifiTogglePreferenceControllerTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void displayPreference_carrierNetworkDisabled_hideCarrierNetwork() {
|
||||
doReturn(false).when(mWifiPickerTrackerHelper).isCarrierNetworkEnabled(SUB_ID);
|
||||
public void displayPreference_carrierNetworkInactive_hideCarrierNetwork() {
|
||||
doReturn(false).when(mWifiPickerTrackerHelper).isCarrierNetworkActive();
|
||||
|
||||
mController.displayPreference(mScreen);
|
||||
|
||||
@@ -160,24 +164,48 @@ public class CarrierWifiTogglePreferenceControllerTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void onWifiStateChanged_carrierNetworkVisible_shouldSetSummary() {
|
||||
mController.mCarrierNetworkPreference = mNetworkPreference;
|
||||
mNetworkPreference.setVisible(true);
|
||||
public void onWifiStateChanged_carrierNetworkActive_shouldSetSummary() {
|
||||
doReturn(true).when(mWifiPickerTrackerHelper).isCarrierNetworkActive();
|
||||
doReturn(SSID).when(mWifiPickerTrackerHelper).getCarrierNetworkSsid();
|
||||
mNetworkPreference.setVisible(false);
|
||||
mNetworkPreference.setSummary(null);
|
||||
|
||||
mController.onWifiEntriesChanged();
|
||||
|
||||
assertThat(mNetworkPreference.isVisible()).isEqualTo(true);
|
||||
assertThat(mNetworkPreference.getSummary()).isEqualTo(SSID);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void onWifiEntriesChanged_carrierNetworkVisible_shouldSetSummary() {
|
||||
mController.mCarrierNetworkPreference = mNetworkPreference;
|
||||
public void onWifiStateChanged_carrierNetworkInactive_shouldHideNetwork() {
|
||||
doReturn(false).when(mWifiPickerTrackerHelper).isCarrierNetworkActive();
|
||||
mNetworkPreference.setVisible(true);
|
||||
|
||||
mController.onWifiEntriesChanged();
|
||||
|
||||
assertThat(mNetworkPreference.isVisible()).isEqualTo(false);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void onWifiEntriesChanged_carrierNetworkActive_shouldSetSummary() {
|
||||
doReturn(true).when(mWifiPickerTrackerHelper).isCarrierNetworkActive();
|
||||
doReturn(SSID).when(mWifiPickerTrackerHelper).getCarrierNetworkSsid();
|
||||
mNetworkPreference.setVisible(false);
|
||||
mNetworkPreference.setSummary(null);
|
||||
|
||||
mController.onWifiEntriesChanged();
|
||||
|
||||
assertThat(mNetworkPreference.isVisible()).isEqualTo(true);
|
||||
assertThat(mNetworkPreference.getSummary()).isEqualTo(SSID);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void onWifiEntriesChanged_carrierNetworkInactive_shouldHideNetwork() {
|
||||
doReturn(false).when(mWifiPickerTrackerHelper).isCarrierNetworkActive();
|
||||
mNetworkPreference.setVisible(true);
|
||||
|
||||
mController.onWifiEntriesChanged();
|
||||
|
||||
assertThat(mNetworkPreference.isVisible()).isEqualTo(false);
|
||||
}
|
||||
}
|
||||
|
@@ -455,7 +455,7 @@ public class SubscriptionsPreferenceControllerTest {
|
||||
doReturn(mock(MobileMappings.Config.class)).when(sInjector).getConfig(mContext);
|
||||
doReturn(networkType)
|
||||
.when(sInjector).getNetworkType(any(), any(), any(), anyInt(), eq(true));
|
||||
doReturn(true).when(mWifiPickerTrackerHelper).isActiveCarrierNetwork();
|
||||
doReturn(true).when(mWifiPickerTrackerHelper).isCarrierNetworkActive();
|
||||
mController.setWifiPickerTrackerHelper(mWifiPickerTrackerHelper);
|
||||
|
||||
mController.onResume();
|
||||
|
Reference in New Issue
Block a user