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

Commit 25e26ea7 authored by Junyu Lai's avatar Junyu Lai
Browse files

[MS49] Remove NetworkStats hidden Api usages

This includes:
1. Remove unused INetworkStatsService and NetworkStatsHistory.
2. Replace NetworkTemplate usages with builder.
3. Replace TrafficStats references to DataUnit.
4. Reimplement NetworkTemplate#normalize.

Test: make RunSettingsRoboTests
Bug: 204830222
Change-Id: I8efecda5df403e9ed588daecd169cb3498d213a2
parent 5ff3e8dc
Loading
Loading
Loading
Loading
+0 −3
Original line number Original line Diff line number Diff line
@@ -17,7 +17,6 @@
package com.android.settings.datausage;
package com.android.settings.datausage;


import android.content.Context;
import android.content.Context;
import android.net.INetworkStatsService;
import android.net.NetworkPolicyManager;
import android.net.NetworkPolicyManager;
import android.net.NetworkTemplate;
import android.net.NetworkTemplate;
import android.os.INetworkManagementService;
import android.os.INetworkManagementService;
@@ -51,8 +50,6 @@ public class BillingCyclePreferenceController extends BasePreferenceController {
        TemplatePreference.NetworkServices services = new TemplatePreference.NetworkServices();
        TemplatePreference.NetworkServices services = new TemplatePreference.NetworkServices();
        services.mNetworkService = INetworkManagementService.Stub.asInterface(
        services.mNetworkService = INetworkManagementService.Stub.asInterface(
                ServiceManager.getService(Context.NETWORKMANAGEMENT_SERVICE));
                ServiceManager.getService(Context.NETWORKMANAGEMENT_SERVICE));
        services.mStatsService = INetworkStatsService.Stub.asInterface(
                ServiceManager.getService(Context.NETWORK_STATS_SERVICE));
        services.mPolicyManager = mContext.getSystemService(NetworkPolicyManager.class);
        services.mPolicyManager = mContext.getSystemService(NetworkPolicyManager.class);
        services.mPolicyEditor = new NetworkPolicyEditor(services.mPolicyManager);
        services.mPolicyEditor = new NetworkPolicyEditor(services.mPolicyManager);
        services.mTelephonyManager = mContext.getSystemService(TelephonyManager.class);
        services.mTelephonyManager = mContext.getSystemService(TelephonyManager.class);
+2 −2
Original line number Original line Diff line number Diff line
@@ -17,13 +17,13 @@ package com.android.settings.datausage;
import android.content.Context;
import android.content.Context;
import android.content.res.Resources;
import android.content.res.Resources;
import android.net.NetworkPolicy;
import android.net.NetworkPolicy;
import android.net.TrafficStats;
import android.text.SpannableStringBuilder;
import android.text.SpannableStringBuilder;
import android.text.TextUtils;
import android.text.TextUtils;
import android.text.format.DateUtils;
import android.text.format.DateUtils;
import android.text.format.Formatter;
import android.text.format.Formatter;
import android.text.style.ForegroundColorSpan;
import android.text.style.ForegroundColorSpan;
import android.util.AttributeSet;
import android.util.AttributeSet;
import android.util.DataUnit;
import android.util.SparseIntArray;
import android.util.SparseIntArray;


import androidx.annotation.VisibleForTesting;
import androidx.annotation.VisibleForTesting;
@@ -46,7 +46,7 @@ public class ChartDataUsagePreference extends Preference {


    // The resolution we show on the graph so that we can squash things down to ints.
    // The resolution we show on the graph so that we can squash things down to ints.
    // Set to half a meg for now.
    // Set to half a meg for now.
    private static final long RESOLUTION = TrafficStats.MB_IN_BYTES / 2;
    private static final long RESOLUTION = DataUnit.MEBIBYTES.toBytes(1) / 2;


    private final int mWarningColor;
    private final int mWarningColor;
    private final int mLimitColor;
    private final int mLimitColor;
+0 −3
Original line number Original line Diff line number Diff line
@@ -15,7 +15,6 @@
package com.android.settings.datausage;
package com.android.settings.datausage;


import android.content.Context;
import android.content.Context;
import android.net.INetworkStatsService;
import android.net.NetworkPolicy;
import android.net.NetworkPolicy;
import android.net.NetworkPolicyManager;
import android.net.NetworkPolicyManager;
import android.os.Bundle;
import android.os.Bundle;
@@ -44,8 +43,6 @@ public abstract class DataUsageBaseFragment extends DashboardFragment {


        services.mNetworkService = INetworkManagementService.Stub.asInterface(
        services.mNetworkService = INetworkManagementService.Stub.asInterface(
                ServiceManager.getService(Context.NETWORKMANAGEMENT_SERVICE));
                ServiceManager.getService(Context.NETWORKMANAGEMENT_SERVICE));
        services.mStatsService = INetworkStatsService.Stub.asInterface(
                ServiceManager.getService(Context.NETWORK_STATS_SERVICE));
        services.mPolicyManager = (NetworkPolicyManager) context
        services.mPolicyManager = (NetworkPolicyManager) context
                .getSystemService(Context.NETWORK_POLICY_SERVICE);
                .getSystemService(Context.NETWORK_POLICY_SERVICE);


+2 −7
Original line number Original line Diff line number Diff line
@@ -14,11 +14,9 @@


package com.android.settings.datausage;
package com.android.settings.datausage;


import static android.app.usage.NetworkStats.Bucket.UID_REMOVED;
import static android.app.usage.NetworkStats.Bucket.UID_TETHERING;
import static android.net.NetworkPolicyManager.POLICY_REJECT_METERED_BACKGROUND;
import static android.net.NetworkPolicyManager.POLICY_REJECT_METERED_BACKGROUND;
import static android.net.NetworkStatsHistory.FIELD_RX_BYTES;
import static android.net.NetworkStatsHistory.FIELD_TX_BYTES;
import static android.net.TrafficStats.UID_REMOVED;
import static android.net.TrafficStats.UID_TETHERING;


import android.app.Activity;
import android.app.Activity;
import android.app.ActivityManager;
import android.app.ActivityManager;
@@ -39,7 +37,6 @@ import android.os.UserManager;
import android.provider.Settings;
import android.provider.Settings;
import android.telephony.SubscriptionInfo;
import android.telephony.SubscriptionInfo;
import android.telephony.SubscriptionManager;
import android.telephony.SubscriptionManager;
import android.util.FeatureFlagUtils;
import android.util.Log;
import android.util.Log;
import android.util.SparseArray;
import android.util.SparseArray;
import android.view.View;
import android.view.View;
@@ -91,7 +88,6 @@ public class DataUsageList extends DataUsageBaseFragment
    private static final String KEY_APPS_GROUP = "apps_group";
    private static final String KEY_APPS_GROUP = "apps_group";
    private static final String KEY_TEMPLATE = "template";
    private static final String KEY_TEMPLATE = "template";
    private static final String KEY_APP = "app";
    private static final String KEY_APP = "app";
    private static final String KEY_FIELDS = "fields";


    @VisibleForTesting
    @VisibleForTesting
    static final int LOADER_CHART_DATA = 2;
    static final int LOADER_CHART_DATA = 2;
@@ -299,7 +295,6 @@ public class DataUsageList extends DataUsageBaseFragment
        final Bundle args = new Bundle();
        final Bundle args = new Bundle();
        args.putParcelable(KEY_TEMPLATE, template);
        args.putParcelable(KEY_TEMPLATE, template);
        args.putParcelable(KEY_APP, null);
        args.putParcelable(KEY_APP, null);
        args.putInt(KEY_FIELDS, FIELD_RX_BYTES | FIELD_TX_BYTES);
        return args;
        return args;
    }
    }


+5 −4
Original line number Original line Diff line number Diff line
@@ -53,7 +53,7 @@ public class DataUsagePreference extends Preference implements TemplatePreferenc
        mTemplate = template;
        mTemplate = template;
        mSubId = subId;
        mSubId = subId;
        final DataUsageController controller = getDataUsageController();
        final DataUsageController controller = getDataUsageController();
        if (mTemplate.isMatchRuleMobile()) {
        if (mTemplate.getMatchRule() == NetworkTemplate.MATCH_MOBILE) {
            setTitle(R.string.app_cellular_data_usage);
            setTitle(R.string.app_cellular_data_usage);
        } else {
        } else {
            final DataUsageController.DataUsageInfo usageInfo =
            final DataUsageController.DataUsageInfo usageInfo =
@@ -78,13 +78,14 @@ public class DataUsagePreference extends Preference implements TemplatePreferenc
        final SubSettingLauncher launcher;
        final SubSettingLauncher launcher;
        args.putParcelable(DataUsageList.EXTRA_NETWORK_TEMPLATE, mTemplate);
        args.putParcelable(DataUsageList.EXTRA_NETWORK_TEMPLATE, mTemplate);
        args.putInt(DataUsageList.EXTRA_SUB_ID, mSubId);
        args.putInt(DataUsageList.EXTRA_SUB_ID, mSubId);
        args.putInt(DataUsageList.EXTRA_NETWORK_TYPE, mTemplate.isMatchRuleMobile()
        args.putInt(DataUsageList.EXTRA_NETWORK_TYPE, mTemplate.getMatchRule()
                == NetworkTemplate.MATCH_MOBILE
                ? ConnectivityManager.TYPE_MOBILE : ConnectivityManager.TYPE_WIFI);
                ? ConnectivityManager.TYPE_MOBILE : ConnectivityManager.TYPE_WIFI);
        launcher = new SubSettingLauncher(getContext())
        launcher = new SubSettingLauncher(getContext())
            .setArguments(args)
            .setArguments(args)
            .setDestination(DataUsageList.class.getName())
            .setDestination(DataUsageList.class.getName())
            .setSourceMetricsCategory(SettingsEnums.PAGE_UNKNOWN);
            .setSourceMetricsCategory(SettingsEnums.PAGE_UNKNOWN);
        if (mTemplate.isMatchRuleMobile()) {
        if (mTemplate.getMatchRule() == NetworkTemplate.MATCH_MOBILE) {
            launcher.setTitleRes(R.string.app_cellular_data_usage);
            launcher.setTitleRes(R.string.app_cellular_data_usage);
        } else {
        } else {
            launcher.setTitleRes(mTitleRes);
            launcher.setTitleRes(mTitleRes);
Loading