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

Commit 057dc846 authored by Lei Yu's avatar Lei Yu Committed by android-build-merger
Browse files

Merge "Use new API to build NetworkTemplate" into qt-dev

am: c9fbd2ee

Change-Id: I7737bc0fd3321f13edf2e9440ee870d059817dc3
parents 59faf30c c9fbd2ee
Loading
Loading
Loading
Loading
+1 −4
Original line number Diff line number Diff line
@@ -58,10 +58,7 @@ public class BillingCyclePreferenceController extends BasePreferenceController {
        services.mSubscriptionManager = mContext.getSystemService(SubscriptionManager.class);
        services.mUserManager = mContext.getSystemService(UserManager.class);

        NetworkTemplate mobileAll = NetworkTemplate.buildTemplateMobileAll(
                services.mTelephonyManager.getSubscriberId(mSubscriptionId));
        NetworkTemplate template = NetworkTemplate.normalize(mobileAll,
                services.mTelephonyManager.getMergedSubscriberIds());
        NetworkTemplate template = DataUsageUtils.getMobileTemplate(mContext, mSubscriptionId);

        preference.setTemplate(template, mSubscriptionId, services);
    }
+3 −13
Original line number Diff line number Diff line
@@ -19,7 +19,6 @@ import android.app.settings.SettingsEnums;
import android.content.Context;
import android.net.NetworkTemplate;
import android.os.Bundle;
import android.provider.SearchIndexableResource;
import android.telephony.SubscriptionInfo;
import android.telephony.SubscriptionManager;
import android.telephony.SubscriptionPlan;
@@ -37,12 +36,9 @@ import androidx.preference.PreferenceScreen;
import com.android.settings.R;
import com.android.settings.Utils;
import com.android.settings.dashboard.SummaryLoader;
import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settings.search.Indexable;
import com.android.settingslib.NetworkPolicyEditor;
import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.net.DataUsageController;
import com.android.settingslib.search.SearchIndexable;

import java.util.ArrayList;
import java.util.List;
@@ -91,7 +87,7 @@ public class DataUsageSummary extends DataUsageBaseFragment implements DataUsage
            hasMobileData = false;
        }
        mDefaultTemplate = DataUsageUtils.getDefaultTemplate(context, defaultSubId);
        mSummaryPreference = (DataUsageSummaryPreference) findPreference(KEY_STATUS_HEADER);
        mSummaryPreference = findPreference(KEY_STATUS_HEADER);

        if (!hasMobileData || !isAdmin()) {
            removePreference(KEY_RESTRICT_BACKGROUND);
@@ -155,7 +151,8 @@ public class DataUsageSummary extends DataUsageBaseFragment implements DataUsage
    private void addMobileSection(int subId, SubscriptionInfo subInfo) {
        TemplatePreferenceCategory category = (TemplatePreferenceCategory)
                inflatePreferences(R.xml.data_usage_cellular);
        category.setTemplate(getNetworkTemplate(subId), subId, services);
        category.setTemplate(DataUsageUtils.getMobileTemplate(getContext(), subId),
                subId, services);
        category.pushTemplates(services);
        if (subInfo != null && !TextUtils.isEmpty(subInfo.getDisplayName())) {
            Preference title  = category.findPreference(KEY_MOBILE_USAGE_TITLE);
@@ -189,13 +186,6 @@ public class DataUsageSummary extends DataUsageBaseFragment implements DataUsage
        return pref;
    }

    private NetworkTemplate getNetworkTemplate(int subscriptionId) {
        NetworkTemplate mobileAll = NetworkTemplate.buildTemplateMobileAll(
                services.mTelephonyManager.getSubscriberId(subscriptionId));
        return NetworkTemplate.normalize(mobileAll,
                services.mTelephonyManager.getMergedSubscriberIds());
    }

    @Override
    public void onResume() {
        super.onResume();
+12 −15
Original line number Diff line number Diff line
@@ -33,12 +33,13 @@ import android.text.format.Formatter;
import android.text.format.Formatter.BytesResult;
import android.util.Log;

import java.util.ArrayList;
import java.util.List;

/**
 * Utility methods for data usage classes.
 */
public final class DataUsageUtils {
public final class DataUsageUtils extends com.android.settingslib.net.DataUsageUtils {
    static final boolean TEST_RADIOS = false;
    static final String TEST_RADIOS_PROP = "test.radios";
    private static final boolean LOGD = false;
@@ -71,7 +72,7 @@ public final class DataUsageUtils {
            return false;
        }

        final TelephonyManager telephonyManager = TelephonyManager.from(context);;
        final TelephonyManager telephonyManager = TelephonyManager.from(context);
        final NetworkStatsManager networkStatsManager =
                context.getSystemService(NetworkStatsManager.class);
        boolean hasEthernetUsage = false;
@@ -180,16 +181,12 @@ public final class DataUsageUtils {
     */
    public static NetworkTemplate getDefaultTemplate(Context context, int defaultSubId) {
        if (hasMobileData(context) && defaultSubId != SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
            TelephonyManager telephonyManager = TelephonyManager.from(context)
                    .createForSubscriptionId(defaultSubId);
            NetworkTemplate mobileAll = NetworkTemplate.buildTemplateMobileAll(
                    telephonyManager.getSubscriberId(defaultSubId));
            return NetworkTemplate.normalize(mobileAll,
                    telephonyManager.getMergedSubscriberIds());
            return getMobileTemplate(context, defaultSubId);
        } else if (hasWifiRadio(context)) {
            return NetworkTemplate.buildTemplateWifiWildcard();
        } else {
            return NetworkTemplate.buildTemplateEthernet();
        }
    }

}
+10 −1
Original line number Diff line number Diff line
@@ -20,7 +20,9 @@ import static com.google.common.truth.Truth.assertThat;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.when;

import android.app.usage.NetworkStatsManager;
import android.content.Context;
import android.telephony.SubscriptionManager;
import android.telephony.TelephonyManager;
@@ -38,6 +40,8 @@ import java.util.List;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.Shadows;
@@ -50,15 +54,20 @@ public class DataUsageSliceTest {
    private static final String DATA_USAGE_TITLE = "Data usage";
    private static final String DATA_USAGE_SUMMARY = "test_summary";

    @Mock
    private NetworkStatsManager mNetworkStatsManager;

    private Context mContext;
    private DataUsageSlice mDataUsageSlice;

    @Before
    public void setUp() {
        mContext = RuntimeEnvironment.application;
        MockitoAnnotations.initMocks(this);

        mContext = spy(RuntimeEnvironment.application);
        // Set-up specs for SliceMetadata.
        SliceProvider.setSpecs(SliceLiveData.SUPPORTED_SPECS);
        when(mContext.getSystemService(NetworkStatsManager.class)).thenReturn(mNetworkStatsManager);

        mDataUsageSlice = spy(new DataUsageSlice(mContext));