Merge "[Provider Model] Hide W+ network if it's inactive" into sc-dev am: 1ce0d1117e

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/14934760

Change-Id: Ibb9fbd5e9013b1696d3c43358f270fef286a3bec
This commit is contained in:
TreeHugger Robot
2021-06-15 09:36:05 +00:00
committed by Automerger Merge Worker
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

View File

@@ -77,7 +77,7 @@ public class WifiPickerTrackerHelper implements LifecycleObserver {
Process.THREAD_PRIORITY_BACKGROUND);
mWorkerThread.start();
mWifiPickerTracker = FeatureFactory.getFactory(context)
mWifiPickerTracker = FeatureFactory.getFactory(context)
.getWifiTrackerLibProvider()
.createWifiPickerTracker(lifecycle, context,
new Handler(Looper.getMainLooper()),
@@ -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

View File

@@ -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);
}
}

View File

@@ -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();