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

Commit 51075308 authored by Frank Li's avatar Frank Li Committed by Automerger Merge Worker
Browse files

Merge "[DU11]Remove NetworkStats hiddden API dependencies" am: dc23434b am:...

Merge "[DU11]Remove NetworkStats hiddden API dependencies" am: dc23434b am: 09b42ebd am: 9b217379 am: e484d11a

Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1958915

Change-Id: Ib908e2dce2931169bd417777f58aab3bfd965be9
parents 937b7b51 e484d11a
Loading
Loading
Loading
Loading
+6 −53
Original line number Diff line number Diff line
@@ -34,10 +34,6 @@ import static android.net.NetworkPolicyManager.FIREWALL_CHAIN_NAME_POWERSAVE;
import static android.net.NetworkPolicyManager.FIREWALL_CHAIN_NAME_RESTRICTED;
import static android.net.NetworkPolicyManager.FIREWALL_CHAIN_NAME_STANDBY;
import static android.net.NetworkPolicyManager.FIREWALL_RULE_DEFAULT;
import static android.net.NetworkStats.SET_DEFAULT;
import static android.net.NetworkStats.STATS_PER_UID;
import static android.net.NetworkStats.TAG_NONE;
import static android.net.TrafficStats.UID_TETHERING;

import static com.android.net.module.util.NetworkStatsUtils.LIMIT_GLOBAL_ALERT;

@@ -58,7 +54,6 @@ import android.net.NetworkPolicyManager;
import android.net.NetworkStack;
import android.net.NetworkStats;
import android.net.RouteInfo;
import android.net.TetherStatsParcel;
import android.net.UidRangeParcel;
import android.net.util.NetdService;
import android.os.BatteryStats;
@@ -1286,40 +1281,9 @@ public class NetworkManagementService extends INetworkManagementService.Stub {
    private class NetdTetheringStatsProvider extends ITetheringStatsProvider.Stub {
        @Override
        public NetworkStats getTetherStats(int how) {
            // We only need to return per-UID stats. Per-device stats are already counted by
            // interface counters.
            if (how != STATS_PER_UID) {
                return new NetworkStats(SystemClock.elapsedRealtime(), 0);
            }

            final TetherStatsParcel[] tetherStatsVec;
            try {
                tetherStatsVec = mNetdService.tetherGetStats();
            } catch (RemoteException | ServiceSpecificException e) {
                throw new IllegalStateException("problem parsing tethering stats: ", e);
            }

            final NetworkStats stats = new NetworkStats(SystemClock.elapsedRealtime(),
                tetherStatsVec.length);
            final NetworkStats.Entry entry = new NetworkStats.Entry();

            for (TetherStatsParcel tetherStats : tetherStatsVec) {
                try {
                    entry.iface = tetherStats.iface;
                    entry.uid = UID_TETHERING;
                    entry.set = SET_DEFAULT;
                    entry.tag = TAG_NONE;
                    entry.rxBytes   = tetherStats.rxBytes;
                    entry.rxPackets = tetherStats.rxPackets;
                    entry.txBytes   = tetherStats.txBytes;
                    entry.txPackets = tetherStats.txPackets;
                    stats.combineValues(entry);
                } catch (ArrayIndexOutOfBoundsException e) {
                    throw new IllegalStateException("invalid tethering stats " + e);
                }
            }

            return stats;
            // Remove the implementation of NetdTetheringStatsProvider#getTetherStats
            // since all callers are migrated to use INetd#tetherGetStats directly.
            throw new UnsupportedOperationException();
        }

        @Override
@@ -1330,20 +1294,9 @@ public class NetworkManagementService extends INetworkManagementService.Stub {

    @Override
    public NetworkStats getNetworkStatsTethering(int how) {
        NetworkStack.checkNetworkStackPermission(mContext);

        final NetworkStats stats = new NetworkStats(SystemClock.elapsedRealtime(), 1);
        synchronized (mTetheringStatsProviders) {
            for (ITetheringStatsProvider provider: mTetheringStatsProviders.keySet()) {
                try {
                    stats.combineAllValues(provider.getTetherStats(how));
                } catch (RemoteException e) {
                    Log.e(TAG, "Problem reading tethering stats from " +
                            mTetheringStatsProviders.get(provider) + ": " + e);
                }
            }
        }
        return stats;
        // Remove the implementation of getNetworkStatsTethering since all callers are migrated
        // to use INetd#tetherGetStats directly.
        throw new UnsupportedOperationException();
    }

    @Override