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

Commit caa81001 authored by junyulai's avatar junyulai Committed by markchien
Browse files

[SP09] Remove NetworkStatsService @hide usage in Tethering

Test: atest TetheringTest
Bug: 130855321
Change-Id: I0260524c57f7c0aa738eaff07f9b0ae8e785ed63
parent 661daf9b
Loading
Loading
Loading
Loading
+2 −4
Original line number Diff line number Diff line
@@ -66,7 +66,6 @@ import android.content.res.Resources;
import android.hardware.usb.UsbManager;
import android.net.INetd;
import android.net.INetworkPolicyManager;
import android.net.INetworkStatsService;
import android.net.ITetheringEventCallback;
import android.net.IpPrefix;
import android.net.LinkAddress;
@@ -177,7 +176,6 @@ public class Tethering {
    private final Context mContext;
    private final ArrayMap<String, TetherState> mTetherStates;
    private final BroadcastReceiver mStateReceiver;
    private final INetworkStatsService mStatsService;
    private final INetworkPolicyManager mPolicyManager;
    private final Looper mLooper;
    private final StateMachine mTetherMasterSM;
@@ -213,7 +211,6 @@ public class Tethering {
        mLog.mark("Tethering.constructed");
        mDeps = deps;
        mContext = mDeps.getContext();
        mStatsService = mDeps.getINetworkStatsService();
        mPolicyManager = mDeps.getINetworkPolicyManager();
        mNetd = mDeps.getINetd(mContext);
        mLooper = mDeps.getTetheringLooper();
@@ -225,7 +222,8 @@ public class Tethering {
        mTetherMasterSM = new TetherMasterSM("TetherMaster", mLooper, deps);
        mTetherMasterSM.start();

        final NetworkStatsManager statsManager = new NetworkStatsManager(mContext, mStatsService);
        final NetworkStatsManager statsManager =
                (NetworkStatsManager) mContext.getSystemService(Context.NETWORK_STATS_SERVICE);
        mHandler = mTetherMasterSM.getHandler();
        mOffloadController = new OffloadController(mHandler,
                mDeps.getOffloadHardwareInterface(mHandler, mLog), mContext.getContentResolver(),
+0 −10
Original line number Diff line number Diff line
@@ -19,7 +19,6 @@ package com.android.server.connectivity.tethering;
import android.content.Context;
import android.net.INetd;
import android.net.INetworkPolicyManager;
import android.net.INetworkStatsService;
import android.net.NetworkRequest;
import android.net.ip.IpServer;
import android.net.util.SharedLog;
@@ -106,15 +105,6 @@ public abstract class TetheringDependencies {
                ServiceManager.getService(Context.NETWORKMANAGEMENT_SERVICE));
    }

    /**
     *  Get a reference to INetworkStatsService to force update tethering usage.
     *  Note: This should be removed in R development cycle.
     */
    public INetworkStatsService getINetworkStatsService() {
        return INetworkStatsService.Stub.asInterface(
                ServiceManager.getService(Context.NETWORK_STATS_SERVICE));
    }

    /**
     * Get a reference to INetworkPolicyManager to be used by tethering.
     */
+4 −8
Original line number Diff line number Diff line
@@ -60,6 +60,7 @@ import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.verifyNoMoreInteractions;
import static org.mockito.Mockito.when;

import android.app.usage.NetworkStatsManager;
import android.content.BroadcastReceiver;
import android.content.ContentResolver;
import android.content.Context;
@@ -70,7 +71,6 @@ import android.content.res.Resources;
import android.hardware.usb.UsbManager;
import android.net.INetd;
import android.net.INetworkPolicyManager;
import android.net.INetworkStatsService;
import android.net.ITetheringEventCallback;
import android.net.InetAddresses;
import android.net.InterfaceConfigurationParcel;
@@ -152,7 +152,7 @@ public class TetheringTest {
    @Mock private ApplicationInfo mApplicationInfo;
    @Mock private Context mContext;
    @Mock private INetworkManagementService mNMService;
    @Mock private INetworkStatsService mStatsService;
    @Mock private NetworkStatsManager mStatsManager;
    @Mock private INetworkPolicyManager mPolicyManager;
    @Mock private OffloadHardwareInterface mOffloadHardwareInterface;
    @Mock private Resources mResources;
@@ -217,6 +217,7 @@ public class TetheringTest {
            if (Context.USB_SERVICE.equals(name)) return mUsbManager;
            if (Context.TELEPHONY_SERVICE.equals(name)) return mTelephonyManager;
            if (Context.USER_SERVICE.equals(name)) return mUserManager;
            if (Context.NETWORK_STATS_SERVICE.equals(name)) return mStatsManager;
            return super.getSystemService(name);
        }

@@ -338,11 +339,6 @@ public class TetheringTest {
            return mNMService;
        }

        @Override
        public INetworkStatsService getINetworkStatsService() {
            return mStatsService;
        }

        @Override
        public INetworkPolicyManager getINetworkPolicyManager() {
            return mPolicyManager;
@@ -457,7 +453,7 @@ public class TetheringTest {
        mServiceContext.registerReceiver(mBroadcastReceiver,
                new IntentFilter(ACTION_TETHER_STATE_CHANGED));
        mTethering = makeTethering();
        verify(mStatsService, times(1)).registerNetworkStatsProvider(anyString(), any());
        verify(mStatsManager, times(1)).registerNetworkStatsProvider(anyString(), any());
        verify(mNetd).registerUnsolicitedEventListener(any());
        final ArgumentCaptor<PhoneStateListener> phoneListenerCaptor =
                ArgumentCaptor.forClass(PhoneStateListener.class);