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

Commit 018ba811 authored by Treehugger Robot's avatar Treehugger Robot Committed by Gerrit Code Review
Browse files

Merge "[MS71] Remove remaining dependencies in SettingsLib"

parents 03740ec6 60230cde
Loading
Loading
Loading
Loading
+1 −20
Original line number Diff line number Diff line
@@ -27,9 +27,7 @@ import static com.android.internal.util.Preconditions.checkNotNull;
import android.net.NetworkPolicy;
import android.net.NetworkPolicyManager;
import android.net.NetworkTemplate;
import android.net.wifi.WifiInfo;
import android.os.AsyncTask;
import android.text.TextUtils;
import android.util.RecurrenceRule;

import com.google.android.collect.Lists;
@@ -124,7 +122,7 @@ public class NetworkPolicyEditor {
        if (policy != null) {
            return policy;
        } else {
            return getPolicy(buildUnquotedNetworkTemplate(template));
            return getPolicy(template);
        }
    }

@@ -207,21 +205,4 @@ public class NetworkPolicyEditor {
        policy.clearSnooze();
        writeAsync();
    }

    /**
     * Build a revised {@link NetworkTemplate} that matches the same rule, but
     * with an unquoted {@link NetworkTemplate#getNetworkId()}. Used to work
     * around legacy bugs.
     */
    private static NetworkTemplate buildUnquotedNetworkTemplate(NetworkTemplate template) {
        if (template == null) return null;
        final String networkId = template.getNetworkId();
        final String strippedNetworkId = WifiInfo.sanitizeSsid(networkId);
        if (!TextUtils.equals(strippedNetworkId, networkId)) {
            return new NetworkTemplate(
                    template.getMatchRule(), template.getSubscriberId(), strippedNetworkId);
        } else {
            return null;
        }
    }
}
+1 −3
Original line number Diff line number Diff line
@@ -16,7 +16,6 @@

package com.android.settingslib.net;

import static android.net.TrafficStats.MB_IN_BYTES;
import static android.telephony.TelephonyManager.SIM_STATE_READY;
import static android.text.format.DateUtils.FORMAT_ABBREV_MONTH;
import static android.text.format.DateUtils.FORMAT_SHOW_DATE;
@@ -49,6 +48,7 @@ public class DataUsageController {
    private static final StringBuilder PERIOD_BUILDER = new StringBuilder(50);
    private static final java.util.Formatter PERIOD_FORMATTER = new java.util.Formatter(
            PERIOD_BUILDER, Locale.getDefault());
    private static final long MB_IN_BYTES = 1024 * 1024;

    private final Context mContext;
    private final NetworkPolicyManager mPolicyManager;
@@ -237,10 +237,8 @@ public class DataUsageController {
        final int matchRule = networkTemplate.getMatchRule();
        switch (matchRule) {
            case NetworkTemplate.MATCH_MOBILE:
            case NetworkTemplate.MATCH_MOBILE_WILDCARD:
                return ConnectivityManager.TYPE_MOBILE;
            case NetworkTemplate.MATCH_WIFI:
            case NetworkTemplate.MATCH_WIFI_WILDCARD:
                return  ConnectivityManager.TYPE_WIFI;
            case NetworkTemplate.MATCH_ETHERNET:
                return  ConnectivityManager.TYPE_ETHERNET;
+21 −3
Original line number Diff line number Diff line
@@ -63,14 +63,32 @@ public class DataUsageUtils {
    private static NetworkTemplate getNormalizedMobileTemplate(
            TelephonyManager telephonyManager, int subId) {
        final NetworkTemplate mobileTemplate = getMobileTemplateForSubId(telephonyManager, subId);
        final String[] mergedSubscriberIds = telephonyManager
                .createForSubscriptionId(subId).getMergedImsisFromGroup();
        final Set<String> mergedSubscriberIds = Set.of(telephonyManager
                .createForSubscriptionId(subId).getMergedImsisFromGroup());
        if (ArrayUtils.isEmpty(mergedSubscriberIds)) {
            Log.i(TAG, "mergedSubscriberIds is null.");
            return mobileTemplate;
        }

        return NetworkTemplate.normalize(mobileTemplate, mergedSubscriberIds);
        return normalizeMobileTemplate(mobileTemplate, mergedSubscriberIds);
    }

    private static NetworkTemplate normalizeMobileTemplate(
            NetworkTemplate template, Set<String> mergedSet) {
        if (template.getSubscriberIds().isEmpty()) return template;
        // The input template should have at most 1 subscriberId.
        final String subscriberId = template.getSubscriberIds().iterator().next();

        if (mergedSet.contains(subscriberId)) {
            // Requested template subscriber is part of the merge group; return
            // a template that matches all merged subscribers.
            return new NetworkTemplate.Builder(template.getMatchRule())
                    .setSubscriberIds(mergedSet)
                    .setWifiNetworkKeys(template.getWifiNetworkKeys())
                    .setMeteredness(NetworkStats.METERED_YES).build();
        }

        return template;
    }

    private static NetworkTemplate getMobileTemplateForSubId(
+3 −2
Original line number Diff line number Diff line
@@ -53,8 +53,9 @@ public class NetworkCycleDataForUidLoader extends
            long totalUsage = 0L;
            long totalForeground = 0L;
            for (int uid : mUids) {
                final NetworkStats stats = mNetworkStatsManager.queryDetailsForUid(
                        mNetworkTemplate, start, end, uid);
                final NetworkStats stats = mNetworkStatsManager.queryDetailsForUidTagState(
                        mNetworkTemplate, start, end, uid, NetworkStats.Bucket.TAG_NONE,
                        NetworkStats.Bucket.STATE_ALL);
                final long usage = getTotalUsage(stats);
                if (usage > 0L) {
                    totalUsage += usage;
+3 −2
Original line number Diff line number Diff line
@@ -17,6 +17,7 @@
package com.android.settingslib.net;

import android.app.AppGlobals;
import android.app.usage.NetworkStats;
import android.content.Context;
import android.content.pm.ApplicationInfo;
import android.content.pm.IPackageManager;
@@ -116,13 +117,13 @@ public class UidDetailProvider {
                detail.label = res.getString(R.string.process_kernel_label);
                detail.icon = pm.getDefaultActivityIcon();
                return detail;
            case TrafficStats.UID_REMOVED:
            case NetworkStats.Bucket.UID_REMOVED:
                detail.label = res.getString(UserManager.supportsMultipleUsers()
                        ? R.string.data_usage_uninstalled_apps_users
                        : R.string.data_usage_uninstalled_apps);
                detail.icon = pm.getDefaultActivityIcon();
                return detail;
            case TrafficStats.UID_TETHERING:
            case NetworkStats.Bucket.UID_TETHERING:
                final TetheringManager tm = mContext.getSystemService(TetheringManager.class);
                detail.label = res.getString(Utils.getTetheringLabel(tm));
                detail.icon = pm.getDefaultActivityIcon();