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

Commit d17e8497 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Only show mobile data usage information when mobile data is enabled." into pi-dev

parents 940630ba 19375adb
Loading
Loading
Loading
Loading
+4 −12
Original line number Diff line number Diff line
@@ -104,20 +104,12 @@ public class DataUsageSummary extends DataUsageBaseFragment implements Indexable
            removePreference(KEY_RESTRICT_BACKGROUND);
        }
        if (hasMobileData) {
            List<SubscriptionInfo> subscriptions =
                    services.mSubscriptionManager.getActiveSubscriptionInfoList();
            if (subscriptions == null || subscriptions.size() == 0) {
                addMobileSection(defaultSubId);
            }
            for (int i = 0; subscriptions != null && i < subscriptions.size(); i++) {
                SubscriptionInfo subInfo = subscriptions.get(i);
                if (subscriptions.size() > 1) {
                    addMobileSection(subInfo.getSubscriptionId(), subInfo);
                } else {
            SubscriptionInfo subInfo
                    = services.mSubscriptionManager.getDefaultDataSubscriptionInfo();
            if (subInfo != null) {
                addMobileSection(subInfo.getSubscriptionId());
            }
        }
        }
        boolean hasWifiRadio = DataUsageUtils.hasWifiRadio(context);
        if (hasWifiRadio) {
            addWifiSection();
+2 −2
Original line number Diff line number Diff line
@@ -37,7 +37,6 @@ import android.util.RecurrenceRule;
import com.android.internal.util.CollectionUtils;
import com.android.settings.R;
import com.android.settings.core.BasePreferenceController;
import com.android.settings.core.FeatureFlags;
import com.android.settingslib.NetworkPolicyEditor;
import com.android.settingslib.net.DataUsageController;

@@ -150,7 +149,8 @@ public class DataUsageSummaryPreferenceController extends BasePreferenceControll

    @Override
    public int getAvailabilityStatus() {
        return AVAILABLE;
        return mSubscriptionManager.getDefaultDataSubscriptionInfo() != null
                ? AVAILABLE : DISABLED_UNSUPPORTED;
    }

    @Override
+41 −0
Original line number Diff line number Diff line
@@ -16,6 +16,9 @@

package com.android.settings.datausage;

import static com.android.settings.core.BasePreferenceController.AVAILABLE;
import static com.android.settings.core.BasePreferenceController.DISABLED_UNSUPPORTED;
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Matchers.any;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.spy;
@@ -25,6 +28,8 @@ import static org.mockito.Mockito.when;
import android.content.Context;
import android.content.Intent;
import android.net.NetworkTemplate;
import android.telephony.SubscriptionInfo;
import android.telephony.SubscriptionManager;

import com.android.settings.R;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
@@ -61,6 +66,8 @@ public class DataUsageSummaryPreferenceControllerTest {
    private NetworkPolicyEditor mPolicyEditor;
    @Mock
    private NetworkTemplate mNetworkTemplate;
    @Mock
    private SubscriptionManager mSubscriptionManager;

    private Context mContext;
    private DataUsageSummaryPreferenceController mController;
@@ -230,6 +237,40 @@ public class DataUsageSummaryPreferenceControllerTest {
        verify(mSummaryPreference).setLimitInfo("1.00 MB data warning / 1.00 MB data limit");
    }

    @Test
    public void testMobileData_preferenceAvailable() {
        mController = new DataUsageSummaryPreferenceController(
                mContext,
                mDataUsageController,
                mDataInfoController,
                mNetworkTemplate,
                mPolicyEditor,
                R.string.cell_data_template,
                true,
                mSubscriptionManager);

        final SubscriptionInfo subInfo = new SubscriptionInfo(0, "123456", 0, "name", "carrier",
                0, 0, "number", 0, null, 123, 456, "ZX");
        when(mSubscriptionManager.getDefaultDataSubscriptionInfo()).thenReturn(subInfo);
        assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
    }

    @Test
    public void testMobileData_preferenceDisabled() {
        mController = new DataUsageSummaryPreferenceController(
                mContext,
                mDataUsageController,
                mDataInfoController,
                mNetworkTemplate,
                mPolicyEditor,
                R.string.cell_data_template,
                true,
                mSubscriptionManager);

        when(mSubscriptionManager.getDefaultDataSubscriptionInfo()).thenReturn(null);
        assertThat(mController.getAvailabilityStatus()).isEqualTo(DISABLED_UNSUPPORTED);
    }

    private DataUsageController.DataUsageInfo createTestDataUsageInfo(long now) {
        DataUsageController.DataUsageInfo info = new DataUsageController.DataUsageInfo();
        info.carrier = CARRIER_NAME;