Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b9217e8e authored by Bonian Chen's avatar Bonian Chen Committed by Android (Google) Code Review
Browse files

Merge "[Settings] Fix DataUsageUtilsTest" into rvc-dev

parents fbfefe5b 76627e41
Loading
Loading
Loading
Loading
+9 −2
Original line number Diff line number Diff line
@@ -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();
            }
@@ -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);
+0 −16
Original line number Diff line number Diff line
@@ -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
+4 −0
Original line number Diff line number Diff line
@@ -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());
@@ -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());
@@ -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());
@@ -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());
+0 −17
Original line number Diff line number Diff line
@@ -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;
@@ -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(