Remove INetworkManagementService from ConnectivityService
Remove INetworkManagementService from ConnectivityService and related files. Bug: 174837473 Test: atest FrameworksNetTests FrameworksNetIntegrationTests Change-Id: Ie6cfd77bbd64a8fd7539b0ea7fd15bf970e40c3d
This commit is contained in:
@@ -154,7 +154,6 @@ import android.os.Bundle;
|
|||||||
import android.os.Handler;
|
import android.os.Handler;
|
||||||
import android.os.HandlerThread;
|
import android.os.HandlerThread;
|
||||||
import android.os.IBinder;
|
import android.os.IBinder;
|
||||||
import android.os.INetworkManagementService;
|
|
||||||
import android.os.Looper;
|
import android.os.Looper;
|
||||||
import android.os.Message;
|
import android.os.Message;
|
||||||
import android.os.Messenger;
|
import android.os.Messenger;
|
||||||
@@ -323,7 +322,6 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
|||||||
// 0 is full bad, 100 is full good
|
// 0 is full bad, 100 is full good
|
||||||
private int mDefaultInetConditionPublished = 0;
|
private int mDefaultInetConditionPublished = 0;
|
||||||
|
|
||||||
private INetworkManagementService mNMS;
|
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
protected IDnsResolver mDnsResolver;
|
protected IDnsResolver mDnsResolver;
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
@@ -1039,15 +1037,14 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public ConnectivityService(Context context, INetworkManagementService netManager,
|
public ConnectivityService(Context context, INetworkStatsService statsService) {
|
||||||
INetworkStatsService statsService) {
|
this(context, statsService, getDnsResolver(context), new IpConnectivityLog(),
|
||||||
this(context, netManager, statsService, getDnsResolver(context), new IpConnectivityLog(),
|
|
||||||
NetdService.getInstance(), new Dependencies());
|
NetdService.getInstance(), new Dependencies());
|
||||||
}
|
}
|
||||||
|
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
protected ConnectivityService(Context context, INetworkManagementService netManager,
|
protected ConnectivityService(Context context, INetworkStatsService statsService,
|
||||||
INetworkStatsService statsService, IDnsResolver dnsresolver, IpConnectivityLog logger,
|
IDnsResolver dnsresolver, IpConnectivityLog logger,
|
||||||
INetd netd, Dependencies deps) {
|
INetd netd, Dependencies deps) {
|
||||||
if (DBG) log("ConnectivityService starting up");
|
if (DBG) log("ConnectivityService starting up");
|
||||||
|
|
||||||
@@ -1094,7 +1091,6 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
|||||||
// TODO: Consider making the timer customizable.
|
// TODO: Consider making the timer customizable.
|
||||||
mNascentDelayMs = DEFAULT_NASCENT_DELAY_MS;
|
mNascentDelayMs = DEFAULT_NASCENT_DELAY_MS;
|
||||||
|
|
||||||
mNMS = Objects.requireNonNull(netManager, "missing INetworkManagementService");
|
|
||||||
mStatsService = Objects.requireNonNull(statsService, "missing INetworkStatsService");
|
mStatsService = Objects.requireNonNull(statsService, "missing INetworkStatsService");
|
||||||
mPolicyManager = mContext.getSystemService(NetworkPolicyManager.class);
|
mPolicyManager = mContext.getSystemService(NetworkPolicyManager.class);
|
||||||
mPolicyManagerInternal = Objects.requireNonNull(
|
mPolicyManagerInternal = Objects.requireNonNull(
|
||||||
@@ -8183,7 +8179,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
|||||||
TestNetworkService.enforceTestNetworkPermissions(mContext);
|
TestNetworkService.enforceTestNetworkPermissions(mContext);
|
||||||
|
|
||||||
if (mTNS == null) {
|
if (mTNS == null) {
|
||||||
mTNS = new TestNetworkService(mContext, mNMS);
|
mTNS = new TestNetworkService(mContext);
|
||||||
}
|
}
|
||||||
|
|
||||||
return mTNS;
|
return mTNS;
|
||||||
|
|||||||
@@ -21,7 +21,6 @@ import static android.os.IServiceManager.DUMP_FLAG_PRIORITY_NORMAL;
|
|||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.net.INetworkStatsService;
|
import android.net.INetworkStatsService;
|
||||||
import android.os.INetworkManagementService;
|
|
||||||
import android.os.ServiceManager;
|
import android.os.ServiceManager;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
|
||||||
@@ -38,8 +37,7 @@ public final class ConnectivityServiceInitializer extends SystemService {
|
|||||||
// Load JNI libraries used by ConnectivityService and its dependencies
|
// Load JNI libraries used by ConnectivityService and its dependencies
|
||||||
System.loadLibrary("service-connectivity");
|
System.loadLibrary("service-connectivity");
|
||||||
// TODO: Define formal APIs to get the needed services.
|
// TODO: Define formal APIs to get the needed services.
|
||||||
mConnectivity = new ConnectivityService(context, getNetworkManagementService(),
|
mConnectivity = new ConnectivityService(context, getNetworkStatsService());
|
||||||
getNetworkStatsService());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -49,11 +47,6 @@ public final class ConnectivityServiceInitializer extends SystemService {
|
|||||||
/* allowIsolated= */ false, DUMP_FLAG_PRIORITY_HIGH | DUMP_FLAG_PRIORITY_NORMAL);
|
/* allowIsolated= */ false, DUMP_FLAG_PRIORITY_HIGH | DUMP_FLAG_PRIORITY_NORMAL);
|
||||||
}
|
}
|
||||||
|
|
||||||
private INetworkManagementService getNetworkManagementService() {
|
|
||||||
return INetworkManagementService.Stub.asInterface(
|
|
||||||
ServiceManager.getService(Context.NETWORKMANAGEMENT_SERVICE));
|
|
||||||
}
|
|
||||||
|
|
||||||
private INetworkStatsService getNetworkStatsService() {
|
private INetworkStatsService getNetworkStatsService() {
|
||||||
return INetworkStatsService.Stub.asInterface(
|
return INetworkStatsService.Stub.asInterface(
|
||||||
ServiceManager.getService(Context.NETWORK_STATS_SERVICE));
|
ServiceManager.getService(Context.NETWORK_STATS_SERVICE));
|
||||||
|
|||||||
@@ -41,7 +41,6 @@ import android.os.Binder;
|
|||||||
import android.os.Handler;
|
import android.os.Handler;
|
||||||
import android.os.HandlerThread;
|
import android.os.HandlerThread;
|
||||||
import android.os.IBinder;
|
import android.os.IBinder;
|
||||||
import android.os.INetworkManagementService;
|
|
||||||
import android.os.Looper;
|
import android.os.Looper;
|
||||||
import android.os.ParcelFileDescriptor;
|
import android.os.ParcelFileDescriptor;
|
||||||
import android.os.RemoteException;
|
import android.os.RemoteException;
|
||||||
@@ -69,7 +68,6 @@ class TestNetworkService extends ITestNetworkManager.Stub {
|
|||||||
@NonNull private static final AtomicInteger sTestTunIndex = new AtomicInteger();
|
@NonNull private static final AtomicInteger sTestTunIndex = new AtomicInteger();
|
||||||
|
|
||||||
@NonNull private final Context mContext;
|
@NonNull private final Context mContext;
|
||||||
@NonNull private final INetworkManagementService mNMS;
|
|
||||||
@NonNull private final INetd mNetd;
|
@NonNull private final INetd mNetd;
|
||||||
|
|
||||||
@NonNull private final HandlerThread mHandlerThread;
|
@NonNull private final HandlerThread mHandlerThread;
|
||||||
@@ -82,14 +80,12 @@ class TestNetworkService extends ITestNetworkManager.Stub {
|
|||||||
private static native int jniCreateTunTap(boolean isTun, @NonNull String iface);
|
private static native int jniCreateTunTap(boolean isTun, @NonNull String iface);
|
||||||
|
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
protected TestNetworkService(
|
protected TestNetworkService(@NonNull Context context) {
|
||||||
@NonNull Context context, @NonNull INetworkManagementService netManager) {
|
|
||||||
mHandlerThread = new HandlerThread("TestNetworkServiceThread");
|
mHandlerThread = new HandlerThread("TestNetworkServiceThread");
|
||||||
mHandlerThread.start();
|
mHandlerThread.start();
|
||||||
mHandler = new Handler(mHandlerThread.getLooper());
|
mHandler = new Handler(mHandlerThread.getLooper());
|
||||||
|
|
||||||
mContext = Objects.requireNonNull(context, "missing Context");
|
mContext = Objects.requireNonNull(context, "missing Context");
|
||||||
mNMS = Objects.requireNonNull(netManager, "missing INetworkManagementService");
|
|
||||||
mNetd = Objects.requireNonNull(NetdService.getInstance(), "could not get netd instance");
|
mNetd = Objects.requireNonNull(NetdService.getInstance(), "could not get netd instance");
|
||||||
mCm = mContext.getSystemService(ConnectivityManager.class);
|
mCm = mContext.getSystemService(ConnectivityManager.class);
|
||||||
mNetworkProvider = new NetworkProvider(mContext, mHandler.getLooper(),
|
mNetworkProvider = new NetworkProvider(mContext, mHandler.getLooper(),
|
||||||
|
|||||||
@@ -177,7 +177,7 @@ class ConnectivityServiceIntegrationTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private inner class TestConnectivityService(deps: Dependencies) : ConnectivityService(
|
private inner class TestConnectivityService(deps: Dependencies) : ConnectivityService(
|
||||||
context, netManager, statsService, dnsResolver, log, netd, deps)
|
context, statsService, dnsResolver, log, netd, deps)
|
||||||
|
|
||||||
private fun makeDependencies(): ConnectivityService.Dependencies {
|
private fun makeDependencies(): ConnectivityService.Dependencies {
|
||||||
val deps = spy(ConnectivityService.Dependencies())
|
val deps = spy(ConnectivityService.Dependencies())
|
||||||
|
|||||||
@@ -1463,7 +1463,6 @@ public class ConnectivityServiceTest {
|
|||||||
mDeps = makeDependencies();
|
mDeps = makeDependencies();
|
||||||
returnRealCallingUid();
|
returnRealCallingUid();
|
||||||
mService = new ConnectivityService(mServiceContext,
|
mService = new ConnectivityService(mServiceContext,
|
||||||
mNetworkManagementService,
|
|
||||||
mStatsService,
|
mStatsService,
|
||||||
mMockDnsResolver,
|
mMockDnsResolver,
|
||||||
mock(IpConnectivityLog.class),
|
mock(IpConnectivityLog.class),
|
||||||
@@ -7855,7 +7854,6 @@ public class ConnectivityServiceTest {
|
|||||||
cellLp.addRoute(defaultRoute);
|
cellLp.addRoute(defaultRoute);
|
||||||
cellLp.addRoute(ipv6Subnet);
|
cellLp.addRoute(ipv6Subnet);
|
||||||
mCellNetworkAgent = new TestNetworkAgentWrapper(TRANSPORT_CELLULAR, cellLp);
|
mCellNetworkAgent = new TestNetworkAgentWrapper(TRANSPORT_CELLULAR, cellLp);
|
||||||
reset(mNetworkManagementService);
|
|
||||||
reset(mMockDnsResolver);
|
reset(mMockDnsResolver);
|
||||||
reset(mMockNetd);
|
reset(mMockNetd);
|
||||||
reset(mBatteryStatsService);
|
reset(mBatteryStatsService);
|
||||||
@@ -7895,7 +7893,6 @@ public class ConnectivityServiceTest {
|
|||||||
|
|
||||||
verifyNoMoreInteractions(mMockNetd);
|
verifyNoMoreInteractions(mMockNetd);
|
||||||
verifyNoMoreInteractions(mMockDnsResolver);
|
verifyNoMoreInteractions(mMockDnsResolver);
|
||||||
reset(mNetworkManagementService);
|
|
||||||
reset(mMockNetd);
|
reset(mMockNetd);
|
||||||
reset(mMockDnsResolver);
|
reset(mMockDnsResolver);
|
||||||
when(mMockNetd.interfaceGetCfg(CLAT_PREFIX + MOBILE_IFNAME))
|
when(mMockNetd.interfaceGetCfg(CLAT_PREFIX + MOBILE_IFNAME))
|
||||||
@@ -7995,7 +7992,6 @@ public class ConnectivityServiceTest {
|
|||||||
verify(mMockNetd, times(1)).networkRemoveInterface(cellNetId, CLAT_PREFIX + MOBILE_IFNAME);
|
verify(mMockNetd, times(1)).networkRemoveInterface(cellNetId, CLAT_PREFIX + MOBILE_IFNAME);
|
||||||
verifyNoMoreInteractions(mMockNetd);
|
verifyNoMoreInteractions(mMockNetd);
|
||||||
verifyNoMoreInteractions(mMockDnsResolver);
|
verifyNoMoreInteractions(mMockDnsResolver);
|
||||||
reset(mNetworkManagementService);
|
|
||||||
reset(mMockNetd);
|
reset(mMockNetd);
|
||||||
reset(mMockDnsResolver);
|
reset(mMockDnsResolver);
|
||||||
when(mMockNetd.interfaceGetCfg(CLAT_PREFIX + MOBILE_IFNAME))
|
when(mMockNetd.interfaceGetCfg(CLAT_PREFIX + MOBILE_IFNAME))
|
||||||
@@ -8232,7 +8228,6 @@ public class ConnectivityServiceTest {
|
|||||||
final LinkProperties cellLp = new LinkProperties();
|
final LinkProperties cellLp = new LinkProperties();
|
||||||
cellLp.setInterfaceName(MOBILE_IFNAME);
|
cellLp.setInterfaceName(MOBILE_IFNAME);
|
||||||
mCellNetworkAgent.sendLinkProperties(cellLp);
|
mCellNetworkAgent.sendLinkProperties(cellLp);
|
||||||
reset(mNetworkManagementService);
|
|
||||||
mCellNetworkAgent.connect(true);
|
mCellNetworkAgent.connect(true);
|
||||||
networkCallback.expectAvailableThenValidatedCallbacks(mCellNetworkAgent);
|
networkCallback.expectAvailableThenValidatedCallbacks(mCellNetworkAgent);
|
||||||
verify(mMockNetd, times(1)).idletimerAddInterface(eq(MOBILE_IFNAME), anyInt(),
|
verify(mMockNetd, times(1)).idletimerAddInterface(eq(MOBILE_IFNAME), anyInt(),
|
||||||
|
|||||||
Reference in New Issue
Block a user