Loading src/com/android/settings/datausage/DataUsageSummary.java +9 −2 Original line number Diff line number Diff line Loading @@ -95,8 +95,8 @@ public class DataUsageSummary extends DataUsageBaseFragment implements DataUsage boolean hasWifiRadio = DataUsageUtils.hasWifiRadio(context); if (hasMobileData) { addMobileSection(defaultSubId); if (DataUsageUtils.hasSim(context) && hasWifiRadio) { // If the device has a SIM installed, the data usage section shows usage for mobile, if (hasActiveSubscription() && hasWifiRadio) { // 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. addWifiSection(); } Loading Loading @@ -156,6 +156,13 @@ public class DataUsageSummary extends DataUsageBaseFragment implements DataUsage 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) { TemplatePreferenceCategory category = (TemplatePreferenceCategory) inflatePreferences(R.xml.data_usage_cellular); Loading src/com/android/settings/datausage/DataUsageUtils.java +0 −16 Original line number Diff line number Diff line Loading @@ -151,22 +151,6 @@ public final class DataUsageUtils extends com.android.settingslib.net.DataUsageU 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 * SubscriptionManager#INVALID_SUBSCRIPTION_ID Loading tests/robotests/src/com/android/settings/datausage/DataUsageSummaryTest.java +4 −0 Original line number Diff line number Diff line Loading @@ -114,6 +114,7 @@ public class DataUsageSummaryTest { final DataUsageSummary dataUsageSummary = spy(new DataUsageSummary()); doNothing().when(dataUsageSummary).enableProxySubscriptionManager(any()); doReturn(true).when(dataUsageSummary).hasActiveSubscription(); doReturn(mContext).when(dataUsageSummary).getContext(); doReturn(true).when(dataUsageSummary).removePreference(anyString()); Loading @@ -134,6 +135,7 @@ public class DataUsageSummaryTest { final DataUsageSummary dataUsageSummary = spy(new DataUsageSummary()); doNothing().when(dataUsageSummary).enableProxySubscriptionManager(any()); doReturn(false).when(dataUsageSummary).hasActiveSubscription(); doReturn(mContext).when(dataUsageSummary).getContext(); doReturn(true).when(dataUsageSummary).removePreference(anyString()); Loading @@ -154,6 +156,7 @@ public class DataUsageSummaryTest { final DataUsageSummary dataUsageSummary = spy(new DataUsageSummary()); doNothing().when(dataUsageSummary).enableProxySubscriptionManager(any()); doReturn(false).when(dataUsageSummary).hasActiveSubscription(); doReturn(mContext).when(dataUsageSummary).getContext(); doReturn(true).when(dataUsageSummary).removePreference(anyString()); Loading @@ -177,6 +180,7 @@ public class DataUsageSummaryTest { final DataUsageSummary dataUsageSummary = spy(new DataUsageSummary()); doNothing().when(dataUsageSummary).enableProxySubscriptionManager(any()); doReturn(false).when(dataUsageSummary).hasActiveSubscription(); doReturn(mContext).when(dataUsageSummary).getContext(); doReturn(true).when(dataUsageSummary).removePreference(anyString()); Loading tests/robotests/src/com/android/settings/datausage/DataUsageUtilsTest.java +0 −17 Original line number Diff line number Diff line Loading @@ -31,7 +31,6 @@ import android.telephony.TelephonyManager; import android.util.DataUnit; import org.junit.Before; import org.junit.Ignore; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; Loading Loading @@ -76,22 +75,6 @@ public final class DataUsageUtilsTest { 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 public void formatDataUsage_useIECUnit() { final CharSequence formattedDataUsage = DataUsageUtils.formatDataUsage( Loading Loading
src/com/android/settings/datausage/DataUsageSummary.java +9 −2 Original line number Diff line number Diff line Loading @@ -95,8 +95,8 @@ public class DataUsageSummary extends DataUsageBaseFragment implements DataUsage boolean hasWifiRadio = DataUsageUtils.hasWifiRadio(context); if (hasMobileData) { addMobileSection(defaultSubId); if (DataUsageUtils.hasSim(context) && hasWifiRadio) { // If the device has a SIM installed, the data usage section shows usage for mobile, if (hasActiveSubscription() && hasWifiRadio) { // 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. addWifiSection(); } Loading Loading @@ -156,6 +156,13 @@ public class DataUsageSummary extends DataUsageBaseFragment implements DataUsage 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) { TemplatePreferenceCategory category = (TemplatePreferenceCategory) inflatePreferences(R.xml.data_usage_cellular); Loading
src/com/android/settings/datausage/DataUsageUtils.java +0 −16 Original line number Diff line number Diff line Loading @@ -151,22 +151,6 @@ public final class DataUsageUtils extends com.android.settingslib.net.DataUsageU 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 * SubscriptionManager#INVALID_SUBSCRIPTION_ID Loading
tests/robotests/src/com/android/settings/datausage/DataUsageSummaryTest.java +4 −0 Original line number Diff line number Diff line Loading @@ -114,6 +114,7 @@ public class DataUsageSummaryTest { final DataUsageSummary dataUsageSummary = spy(new DataUsageSummary()); doNothing().when(dataUsageSummary).enableProxySubscriptionManager(any()); doReturn(true).when(dataUsageSummary).hasActiveSubscription(); doReturn(mContext).when(dataUsageSummary).getContext(); doReturn(true).when(dataUsageSummary).removePreference(anyString()); Loading @@ -134,6 +135,7 @@ public class DataUsageSummaryTest { final DataUsageSummary dataUsageSummary = spy(new DataUsageSummary()); doNothing().when(dataUsageSummary).enableProxySubscriptionManager(any()); doReturn(false).when(dataUsageSummary).hasActiveSubscription(); doReturn(mContext).when(dataUsageSummary).getContext(); doReturn(true).when(dataUsageSummary).removePreference(anyString()); Loading @@ -154,6 +156,7 @@ public class DataUsageSummaryTest { final DataUsageSummary dataUsageSummary = spy(new DataUsageSummary()); doNothing().when(dataUsageSummary).enableProxySubscriptionManager(any()); doReturn(false).when(dataUsageSummary).hasActiveSubscription(); doReturn(mContext).when(dataUsageSummary).getContext(); doReturn(true).when(dataUsageSummary).removePreference(anyString()); Loading @@ -177,6 +180,7 @@ public class DataUsageSummaryTest { final DataUsageSummary dataUsageSummary = spy(new DataUsageSummary()); doNothing().when(dataUsageSummary).enableProxySubscriptionManager(any()); doReturn(false).when(dataUsageSummary).hasActiveSubscription(); doReturn(mContext).when(dataUsageSummary).getContext(); doReturn(true).when(dataUsageSummary).removePreference(anyString()); Loading
tests/robotests/src/com/android/settings/datausage/DataUsageUtilsTest.java +0 −17 Original line number Diff line number Diff line Loading @@ -31,7 +31,6 @@ import android.telephony.TelephonyManager; import android.util.DataUnit; import org.junit.Before; import org.junit.Ignore; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; Loading Loading @@ -76,22 +75,6 @@ public final class DataUsageUtilsTest { 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 public void formatDataUsage_useIECUnit() { final CharSequence formattedDataUsage = DataUsageUtils.formatDataUsage( Loading