Loading services/core/java/com/android/server/ConnectivityService.java +7 −10 Original line number Diff line number Diff line Loading @@ -145,7 +145,6 @@ import android.net.NetworkRequest; import android.net.NetworkScore; import android.net.NetworkSpecifier; import android.net.NetworkStack; import android.net.NetworkStackClient; import android.net.NetworkState; import android.net.NetworkStateSnapshot; import android.net.NetworkTestResultParcelable; Loading @@ -172,13 +171,14 @@ import android.net.VpnTransportInfo; import android.net.metrics.IpConnectivityLog; import android.net.metrics.NetworkEvent; import android.net.netlink.InetDiagMessage; import android.net.networkstack.ModuleNetworkStackClient; import android.net.networkstack.NetworkStackClientBase; import android.net.resolv.aidl.DnsHealthEventParcel; import android.net.resolv.aidl.IDnsResolverUnsolicitedEventListener; import android.net.resolv.aidl.Nat64PrefixEventParcel; import android.net.resolv.aidl.PrivateDnsValidationEventParcel; import android.net.shared.PrivateDnsConfig; import android.net.util.MultinetworkPolicyTracker; import android.net.util.NetdService; import android.os.BatteryStatsManager; import android.os.Binder; import android.os.Build; Loading Loading @@ -1121,10 +1121,10 @@ public class ConnectivityService extends IConnectivityManager.Stub } /** * Get a reference to the NetworkStackClient. * Get a reference to the ModuleNetworkStackClient. */ public NetworkStackClient getNetworkStack() { return NetworkStackClient.getInstance(); public NetworkStackClientBase getNetworkStack() { return ModuleNetworkStackClient.getInstance(null); } /** Loading Loading @@ -1183,7 +1183,8 @@ public class ConnectivityService extends IConnectivityManager.Stub public ConnectivityService(Context context) { this(context, getDnsResolver(context), new IpConnectivityLog(), NetdService.getInstance(), new Dependencies()); INetd.Stub.asInterface((IBinder) context.getSystemService(Context.NETD_SERVICE)), new Dependencies()); } @VisibleForTesting Loading Loading @@ -2904,10 +2905,6 @@ public class ConnectivityService extends IConnectivityManager.Stub } pw.println(); pw.println("NetworkStackClient logs:"); pw.increaseIndent(); NetworkStackClient.getInstance().dump(pw); pw.decreaseIndent(); pw.println(); pw.println("Permission Monitor:"); Loading services/core/java/com/android/server/TestNetworkService.java +3 −2 Original line number Diff line number Diff line Loading @@ -35,7 +35,6 @@ import android.net.NetworkProvider; import android.net.RouteInfo; import android.net.TestNetworkInterface; import android.net.TestNetworkSpecifier; import android.net.util.NetdService; import android.os.Binder; import android.os.Handler; import android.os.HandlerThread; Loading Loading @@ -86,7 +85,9 @@ class TestNetworkService extends ITestNetworkManager.Stub { mHandler = new Handler(mHandlerThread.getLooper()); mContext = Objects.requireNonNull(context, "missing Context"); mNetd = Objects.requireNonNull(NetdService.getInstance(), "could not get netd instance"); mNetd = Objects.requireNonNull( INetd.Stub.asInterface((IBinder) context.getSystemService(Context.NETD_SERVICE)), "could not get netd instance"); mCm = mContext.getSystemService(ConnectivityManager.class); mNetworkProvider = new NetworkProvider(mContext, mHandler.getLooper(), TEST_NETWORK_PROVIDER_NAME); Loading tests/net/integration/src/android/net/TestNetworkStackClient.kt +14 −19 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ package android.net import android.content.ComponentName import android.content.Context import android.content.Intent import android.net.networkstack.NetworkStackClientBase import android.os.IBinder import com.android.server.net.integrationtests.TestNetworkStackService import org.mockito.Mockito.any Loading @@ -29,28 +30,22 @@ import kotlin.test.fail const val TEST_ACTION_SUFFIX = ".Test" class TestNetworkStackClient(context: Context) : NetworkStackClient(TestDependencies(context)) { class TestNetworkStackClient(private val context: Context) : NetworkStackClientBase() { // TODO: consider switching to TrackRecord for more expressive checks private val lastCallbacks = HashMap<Network, INetworkMonitorCallbacks>() private class TestDependencies(private val context: Context) : Dependencies { override fun addToServiceManager(service: IBinder) = Unit override fun checkCallerUid() = Unit override fun getConnectivityModuleConnector(): ConnectivityModuleConnector { return ConnectivityModuleConnector { _, _, _, inSystemProcess -> getNetworkStackIntent(inSystemProcess) }.also { it.init(context) } } private fun getNetworkStackIntent(inSystemProcess: Boolean): Intent? { // Simulate out-of-system-process config: in-process service not found (null intent) if (inSystemProcess) return null val intent = Intent(INetworkStackConnector::class.qualifiedName + TEST_ACTION_SUFFIX) private val moduleConnector = ConnectivityModuleConnector { _, action, _, _ -> val intent = Intent(action) val serviceName = TestNetworkStackService::class.qualifiedName ?: fail("TestNetworkStackService name not found") intent.component = ComponentName(context.packageName, serviceName) return intent return@ConnectivityModuleConnector intent }.also { it.init(context) } fun start() { moduleConnector.startModuleService( INetworkStackConnector::class.qualifiedName + TEST_ACTION_SUFFIX, NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK) { connector -> onNetworkStackConnected(INetworkStackConnector.Stub.asInterface(connector)) } } Loading tests/net/integration/src/com/android/server/net/integrationtests/ConnectivityServiceIntegrationTest.kt +0 −1 Original line number Diff line number Diff line Loading @@ -157,7 +157,6 @@ class ConnectivityServiceIntegrationTest { doReturn(IntArray(0)).`when`(systemConfigManager).getSystemPermissionUids(anyString()) networkStackClient = TestNetworkStackClient(realContext) networkStackClient.init() networkStackClient.start() service = TestConnectivityService(makeDependencies()) Loading tests/net/java/com/android/server/ConnectivityServiceTest.java +2 −2 Original line number Diff line number Diff line Loading @@ -216,7 +216,6 @@ import android.net.NetworkRequest; import android.net.NetworkScore; import android.net.NetworkSpecifier; import android.net.NetworkStack; import android.net.NetworkStackClient; import android.net.NetworkStateSnapshot; import android.net.NetworkTestResultParcelable; import android.net.OemNetworkPreferences; Loading @@ -236,6 +235,7 @@ import android.net.Uri; import android.net.VpnManager; import android.net.VpnTransportInfo; import android.net.metrics.IpConnectivityLog; import android.net.networkstack.NetworkStackClientBase; import android.net.resolv.aidl.Nat64PrefixEventParcel; import android.net.resolv.aidl.PrivateDnsValidationEventParcel; import android.net.shared.NetworkMonitorUtils; Loading Loading @@ -446,7 +446,7 @@ public class ConnectivityServiceTest { @Mock NetworkStatsManager mStatsManager; @Mock IDnsResolver mMockDnsResolver; @Mock INetd mMockNetd; @Mock NetworkStackClient mNetworkStack; @Mock NetworkStackClientBase mNetworkStack; @Mock PackageManager mPackageManager; @Mock UserManager mUserManager; @Mock NotificationManager mNotificationManager; Loading Loading
services/core/java/com/android/server/ConnectivityService.java +7 −10 Original line number Diff line number Diff line Loading @@ -145,7 +145,6 @@ import android.net.NetworkRequest; import android.net.NetworkScore; import android.net.NetworkSpecifier; import android.net.NetworkStack; import android.net.NetworkStackClient; import android.net.NetworkState; import android.net.NetworkStateSnapshot; import android.net.NetworkTestResultParcelable; Loading @@ -172,13 +171,14 @@ import android.net.VpnTransportInfo; import android.net.metrics.IpConnectivityLog; import android.net.metrics.NetworkEvent; import android.net.netlink.InetDiagMessage; import android.net.networkstack.ModuleNetworkStackClient; import android.net.networkstack.NetworkStackClientBase; import android.net.resolv.aidl.DnsHealthEventParcel; import android.net.resolv.aidl.IDnsResolverUnsolicitedEventListener; import android.net.resolv.aidl.Nat64PrefixEventParcel; import android.net.resolv.aidl.PrivateDnsValidationEventParcel; import android.net.shared.PrivateDnsConfig; import android.net.util.MultinetworkPolicyTracker; import android.net.util.NetdService; import android.os.BatteryStatsManager; import android.os.Binder; import android.os.Build; Loading Loading @@ -1121,10 +1121,10 @@ public class ConnectivityService extends IConnectivityManager.Stub } /** * Get a reference to the NetworkStackClient. * Get a reference to the ModuleNetworkStackClient. */ public NetworkStackClient getNetworkStack() { return NetworkStackClient.getInstance(); public NetworkStackClientBase getNetworkStack() { return ModuleNetworkStackClient.getInstance(null); } /** Loading Loading @@ -1183,7 +1183,8 @@ public class ConnectivityService extends IConnectivityManager.Stub public ConnectivityService(Context context) { this(context, getDnsResolver(context), new IpConnectivityLog(), NetdService.getInstance(), new Dependencies()); INetd.Stub.asInterface((IBinder) context.getSystemService(Context.NETD_SERVICE)), new Dependencies()); } @VisibleForTesting Loading Loading @@ -2904,10 +2905,6 @@ public class ConnectivityService extends IConnectivityManager.Stub } pw.println(); pw.println("NetworkStackClient logs:"); pw.increaseIndent(); NetworkStackClient.getInstance().dump(pw); pw.decreaseIndent(); pw.println(); pw.println("Permission Monitor:"); Loading
services/core/java/com/android/server/TestNetworkService.java +3 −2 Original line number Diff line number Diff line Loading @@ -35,7 +35,6 @@ import android.net.NetworkProvider; import android.net.RouteInfo; import android.net.TestNetworkInterface; import android.net.TestNetworkSpecifier; import android.net.util.NetdService; import android.os.Binder; import android.os.Handler; import android.os.HandlerThread; Loading Loading @@ -86,7 +85,9 @@ class TestNetworkService extends ITestNetworkManager.Stub { mHandler = new Handler(mHandlerThread.getLooper()); mContext = Objects.requireNonNull(context, "missing Context"); mNetd = Objects.requireNonNull(NetdService.getInstance(), "could not get netd instance"); mNetd = Objects.requireNonNull( INetd.Stub.asInterface((IBinder) context.getSystemService(Context.NETD_SERVICE)), "could not get netd instance"); mCm = mContext.getSystemService(ConnectivityManager.class); mNetworkProvider = new NetworkProvider(mContext, mHandler.getLooper(), TEST_NETWORK_PROVIDER_NAME); Loading
tests/net/integration/src/android/net/TestNetworkStackClient.kt +14 −19 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ package android.net import android.content.ComponentName import android.content.Context import android.content.Intent import android.net.networkstack.NetworkStackClientBase import android.os.IBinder import com.android.server.net.integrationtests.TestNetworkStackService import org.mockito.Mockito.any Loading @@ -29,28 +30,22 @@ import kotlin.test.fail const val TEST_ACTION_SUFFIX = ".Test" class TestNetworkStackClient(context: Context) : NetworkStackClient(TestDependencies(context)) { class TestNetworkStackClient(private val context: Context) : NetworkStackClientBase() { // TODO: consider switching to TrackRecord for more expressive checks private val lastCallbacks = HashMap<Network, INetworkMonitorCallbacks>() private class TestDependencies(private val context: Context) : Dependencies { override fun addToServiceManager(service: IBinder) = Unit override fun checkCallerUid() = Unit override fun getConnectivityModuleConnector(): ConnectivityModuleConnector { return ConnectivityModuleConnector { _, _, _, inSystemProcess -> getNetworkStackIntent(inSystemProcess) }.also { it.init(context) } } private fun getNetworkStackIntent(inSystemProcess: Boolean): Intent? { // Simulate out-of-system-process config: in-process service not found (null intent) if (inSystemProcess) return null val intent = Intent(INetworkStackConnector::class.qualifiedName + TEST_ACTION_SUFFIX) private val moduleConnector = ConnectivityModuleConnector { _, action, _, _ -> val intent = Intent(action) val serviceName = TestNetworkStackService::class.qualifiedName ?: fail("TestNetworkStackService name not found") intent.component = ComponentName(context.packageName, serviceName) return intent return@ConnectivityModuleConnector intent }.also { it.init(context) } fun start() { moduleConnector.startModuleService( INetworkStackConnector::class.qualifiedName + TEST_ACTION_SUFFIX, NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK) { connector -> onNetworkStackConnected(INetworkStackConnector.Stub.asInterface(connector)) } } Loading
tests/net/integration/src/com/android/server/net/integrationtests/ConnectivityServiceIntegrationTest.kt +0 −1 Original line number Diff line number Diff line Loading @@ -157,7 +157,6 @@ class ConnectivityServiceIntegrationTest { doReturn(IntArray(0)).`when`(systemConfigManager).getSystemPermissionUids(anyString()) networkStackClient = TestNetworkStackClient(realContext) networkStackClient.init() networkStackClient.start() service = TestConnectivityService(makeDependencies()) Loading
tests/net/java/com/android/server/ConnectivityServiceTest.java +2 −2 Original line number Diff line number Diff line Loading @@ -216,7 +216,6 @@ import android.net.NetworkRequest; import android.net.NetworkScore; import android.net.NetworkSpecifier; import android.net.NetworkStack; import android.net.NetworkStackClient; import android.net.NetworkStateSnapshot; import android.net.NetworkTestResultParcelable; import android.net.OemNetworkPreferences; Loading @@ -236,6 +235,7 @@ import android.net.Uri; import android.net.VpnManager; import android.net.VpnTransportInfo; import android.net.metrics.IpConnectivityLog; import android.net.networkstack.NetworkStackClientBase; import android.net.resolv.aidl.Nat64PrefixEventParcel; import android.net.resolv.aidl.PrivateDnsValidationEventParcel; import android.net.shared.NetworkMonitorUtils; Loading Loading @@ -446,7 +446,7 @@ public class ConnectivityServiceTest { @Mock NetworkStatsManager mStatsManager; @Mock IDnsResolver mMockDnsResolver; @Mock INetd mMockNetd; @Mock NetworkStackClient mNetworkStack; @Mock NetworkStackClientBase mNetworkStack; @Mock PackageManager mPackageManager; @Mock UserManager mUserManager; @Mock NotificationManager mNotificationManager; Loading