Merge "[Settings] Fix DataUsageUtilsTest" into rvc-dev am: b9217e8e17 am: 7976cfc02d am: 1e465439ad

Change-Id: Ib673c1cc058d1329d1acbc29845d3695e4caabe8
This commit is contained in:
Bonian Chen
2020-04-25 05:34:02 +00:00
committed by Automerger Merge Worker
4 changed files with 13 additions and 35 deletions

View File

@@ -95,8 +95,8 @@ public class DataUsageSummary extends DataUsageBaseFragment implements DataUsage
boolean hasWifiRadio = DataUsageUtils.hasWifiRadio(context); boolean hasWifiRadio = DataUsageUtils.hasWifiRadio(context);
if (hasMobileData) { if (hasMobileData) {
addMobileSection(defaultSubId); addMobileSection(defaultSubId);
if (DataUsageUtils.hasSim(context) && hasWifiRadio) { if (hasActiveSubscription() && hasWifiRadio) {
// If the device has a SIM installed, the data usage section shows usage for mobile, // If the device has active SIM, the data usage section shows usage for mobile,
// and the WiFi section is added if there is a WiFi radio - legacy behavior. // and the WiFi section is added if there is a WiFi radio - legacy behavior.
addWifiSection(); addWifiSection();
} }
@@ -156,6 +156,13 @@ public class DataUsageSummary extends DataUsageBaseFragment implements DataUsage
mProxySubscriptionMgr.setLifecycle(getLifecycle()); mProxySubscriptionMgr.setLifecycle(getLifecycle());
} }
@VisibleForTesting
boolean hasActiveSubscription() {
final List<SubscriptionInfo> subInfoList =
mProxySubscriptionMgr.getActiveSubscriptionsInfo();
return ((subInfoList != null) && (subInfoList.size() > 0));
}
private void addMobileSection(int subId, SubscriptionInfo subInfo) { private void addMobileSection(int subId, SubscriptionInfo subInfo) {
TemplatePreferenceCategory category = (TemplatePreferenceCategory) TemplatePreferenceCategory category = (TemplatePreferenceCategory)
inflatePreferences(R.xml.data_usage_cellular); inflatePreferences(R.xml.data_usage_cellular);

View File

@@ -151,22 +151,6 @@ public final class DataUsageUtils extends com.android.settingslib.net.DataUsageU
return connectivityManager != null && connectivityManager.isNetworkSupported(TYPE_WIFI); return connectivityManager != null && connectivityManager.isNetworkSupported(TYPE_WIFI);
} }
public static boolean hasSim(Context context) {
// Access cache within ProxySubscriptionManager to speed up
final List<SubscriptionInfo> subInfoList =
ProxySubscriptionManager.getInstance(context)
.getActiveSubscriptionsInfo();
if ((subInfoList != null) && (subInfoList.size() > 0)) {
return true;
}
TelephonyManager telephonyManager = context.getSystemService(TelephonyManager.class);
final int simState = telephonyManager.getSimState();
// Note that pulling the SIM card returns UNKNOWN, not ABSENT.
return simState != TelephonyManager.SIM_STATE_ABSENT
&& simState != TelephonyManager.SIM_STATE_UNKNOWN;
}
/** /**
* Returns the default subscription if available else returns * Returns the default subscription if available else returns
* SubscriptionManager#INVALID_SUBSCRIPTION_ID * SubscriptionManager#INVALID_SUBSCRIPTION_ID

View File

@@ -114,6 +114,7 @@ public class DataUsageSummaryTest {
final DataUsageSummary dataUsageSummary = spy(new DataUsageSummary()); final DataUsageSummary dataUsageSummary = spy(new DataUsageSummary());
doNothing().when(dataUsageSummary).enableProxySubscriptionManager(any()); doNothing().when(dataUsageSummary).enableProxySubscriptionManager(any());
doReturn(true).when(dataUsageSummary).hasActiveSubscription();
doReturn(mContext).when(dataUsageSummary).getContext(); doReturn(mContext).when(dataUsageSummary).getContext();
doReturn(true).when(dataUsageSummary).removePreference(anyString()); doReturn(true).when(dataUsageSummary).removePreference(anyString());
@@ -134,6 +135,7 @@ public class DataUsageSummaryTest {
final DataUsageSummary dataUsageSummary = spy(new DataUsageSummary()); final DataUsageSummary dataUsageSummary = spy(new DataUsageSummary());
doNothing().when(dataUsageSummary).enableProxySubscriptionManager(any()); doNothing().when(dataUsageSummary).enableProxySubscriptionManager(any());
doReturn(false).when(dataUsageSummary).hasActiveSubscription();
doReturn(mContext).when(dataUsageSummary).getContext(); doReturn(mContext).when(dataUsageSummary).getContext();
doReturn(true).when(dataUsageSummary).removePreference(anyString()); doReturn(true).when(dataUsageSummary).removePreference(anyString());
@@ -154,6 +156,7 @@ public class DataUsageSummaryTest {
final DataUsageSummary dataUsageSummary = spy(new DataUsageSummary()); final DataUsageSummary dataUsageSummary = spy(new DataUsageSummary());
doNothing().when(dataUsageSummary).enableProxySubscriptionManager(any()); doNothing().when(dataUsageSummary).enableProxySubscriptionManager(any());
doReturn(false).when(dataUsageSummary).hasActiveSubscription();
doReturn(mContext).when(dataUsageSummary).getContext(); doReturn(mContext).when(dataUsageSummary).getContext();
doReturn(true).when(dataUsageSummary).removePreference(anyString()); doReturn(true).when(dataUsageSummary).removePreference(anyString());
@@ -177,6 +180,7 @@ public class DataUsageSummaryTest {
final DataUsageSummary dataUsageSummary = spy(new DataUsageSummary()); final DataUsageSummary dataUsageSummary = spy(new DataUsageSummary());
doNothing().when(dataUsageSummary).enableProxySubscriptionManager(any()); doNothing().when(dataUsageSummary).enableProxySubscriptionManager(any());
doReturn(false).when(dataUsageSummary).hasActiveSubscription();
doReturn(mContext).when(dataUsageSummary).getContext(); doReturn(mContext).when(dataUsageSummary).getContext();
doReturn(true).when(dataUsageSummary).removePreference(anyString()); doReturn(true).when(dataUsageSummary).removePreference(anyString());

View File

@@ -31,7 +31,6 @@ import android.telephony.TelephonyManager;
import android.util.DataUnit; import android.util.DataUnit;
import org.junit.Before; import org.junit.Before;
import org.junit.Ignore;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.mockito.Mock; import org.mockito.Mock;
@@ -76,22 +75,6 @@ public final class DataUsageUtilsTest {
assertThat(hasMobileData).isFalse(); assertThat(hasMobileData).isFalse();
} }
@Test
@Ignore
public void hasSim_simStateReady() {
when(mTelephonyManager.getSimState()).thenReturn(TelephonyManager.SIM_STATE_READY);
final boolean hasSim = DataUsageUtils.hasSim(mContext);
assertThat(hasSim).isTrue();
}
@Test
@Ignore
public void hasSim_simStateMissing() {
when(mTelephonyManager.getSimState()).thenReturn(TelephonyManager.SIM_STATE_ABSENT);
final boolean hasSim = DataUsageUtils.hasSim(mContext);
assertThat(hasSim).isFalse();
}
@Test @Test
public void formatDataUsage_useIECUnit() { public void formatDataUsage_useIECUnit() {
final CharSequence formattedDataUsage = DataUsageUtils.formatDataUsage( final CharSequence formattedDataUsage = DataUsageUtils.formatDataUsage(