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

Commit 19375adb authored by Jan Nordqvist's avatar Jan Nordqvist
Browse files

Only show mobile data usage information when mobile data is enabled.

Bug: 70950124

Test: manual
Test: make RunSettingsRoboTests
Change-Id: I4eb774120cbcf50f40d22c7c8c3caeb0eacbbed3
parent 767743d6
Loading
Loading
Loading
Loading
+4 −12
Original line number Diff line number Diff line
@@ -103,20 +103,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;