Merge changes I35ed84fc,Ie6cfd77b,I4e4f929f,I751526e8

* changes:
  Fix comments left on aosp/1547454 and aosp/1556106
  Remove INetworkManagementService from ConnectivityService
  Remove unused INetworkManagementService
  Remove BaseNetworkObserver from Nat464Xlat
This commit is contained in:
Lucas Lin
2021-03-02 04:07:35 +00:00
committed by Gerrit Code Review
9 changed files with 43 additions and 81 deletions

View File

@@ -155,7 +155,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;
@@ -324,7 +323,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
@@ -1040,15 +1038,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");
@@ -1095,7 +1092,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(
@@ -1203,7 +1199,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
mUserAllContext.registerReceiver(mIntentReceiver, intentFilter, mUserAllContext.registerReceiver(mIntentReceiver, intentFilter,
null /* broadcastPermission */, mHandler); null /* broadcastPermission */, mHandler);
mNetworkActivityTracker = new LegacyNetworkActivityTracker(mContext, mHandler, mNMS, mNetd); mNetworkActivityTracker = new LegacyNetworkActivityTracker(mContext, mHandler, mNetd);
mNetdCallback = new NetdCallback(); mNetdCallback = new NetdCallback();
try { try {
@@ -1237,12 +1233,12 @@ public class ConnectivityService extends IConnectivityManager.Stub
mDnsManager = new DnsManager(mContext, mDnsResolver); mDnsManager = new DnsManager(mContext, mDnsResolver);
registerPrivateDnsSettingsCallbacks(); registerPrivateDnsSettingsCallbacks();
mNoServiceNetwork = new NetworkAgentInfo(null, mNoServiceNetwork = new NetworkAgentInfo(null,
new Network(NO_SERVICE_NET_ID), new Network(NO_SERVICE_NET_ID),
new NetworkInfo(TYPE_NONE, 0, "", ""), new NetworkInfo(TYPE_NONE, 0, "", ""),
new LinkProperties(), new NetworkCapabilities(), 0, mContext, new LinkProperties(), new NetworkCapabilities(), 0, mContext,
null, new NetworkAgentConfig(), this, null, null, new NetworkAgentConfig(), this, null,
null, null, 0, INVALID_UID, null, 0, INVALID_UID,
mQosCallbackTracker); mQosCallbackTracker);
} }
@@ -6030,7 +6026,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
final NetworkAgentInfo nai = new NetworkAgentInfo(na, final NetworkAgentInfo nai = new NetworkAgentInfo(na,
new Network(mNetIdManager.reserveNetId()), new NetworkInfo(networkInfo), lp, nc, new Network(mNetIdManager.reserveNetId()), new NetworkInfo(networkInfo), lp, nc,
currentScore, mContext, mTrackerHandler, new NetworkAgentConfig(networkAgentConfig), currentScore, mContext, mTrackerHandler, new NetworkAgentConfig(networkAgentConfig),
this, mNetd, mDnsResolver, mNMS, providerId, uid, mQosCallbackTracker); this, mNetd, mDnsResolver, providerId, uid, mQosCallbackTracker);
// Make sure the LinkProperties and NetworkCapabilities reflect what the agent info says. // Make sure the LinkProperties and NetworkCapabilities reflect what the agent info says.
processCapabilitiesFromAgent(nai, nc); processCapabilitiesFromAgent(nai, nc);
@@ -8186,7 +8182,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;
@@ -8661,9 +8657,23 @@ public class ConnectivityService extends IConnectivityManager.Stub
private class NetdCallback extends BaseNetdUnsolicitedEventListener { private class NetdCallback extends BaseNetdUnsolicitedEventListener {
@Override @Override
public void onInterfaceClassActivityChanged(boolean isActive, int timerLabel, public void onInterfaceClassActivityChanged(boolean isActive, int transportType,
long timestampNs, int uid) { long timestampNs, int uid) {
mNetworkActivityTracker.setAndReportNetworkActive(isActive, timerLabel, timestampNs); mNetworkActivityTracker.setAndReportNetworkActive(isActive, transportType, timestampNs);
}
@Override
public void onInterfaceLinkStateChanged(String iface, boolean up) {
for (NetworkAgentInfo nai : mNetworkAgentInfos) {
nai.clatd.interfaceLinkStateChanged(iface, up);
}
}
@Override
public void onInterfaceRemoved(String iface) {
for (NetworkAgentInfo nai : mNetworkAgentInfos) {
nai.clatd.interfaceRemoved(iface);
}
} }
} }
@@ -8697,7 +8707,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
} }
LegacyNetworkActivityTracker(@NonNull Context context, @NonNull Handler handler, LegacyNetworkActivityTracker(@NonNull Context context, @NonNull Handler handler,
@NonNull INetworkManagementService nms, @NonNull INetd netd) { @NonNull INetd netd) {
mContext = context; mContext = context;
mNetd = netd; mNetd = netd;
mHandler = handler; mHandler = handler;

View File

@@ -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));

View File

@@ -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(),

View File

@@ -29,14 +29,12 @@ import android.net.LinkAddress;
import android.net.LinkProperties; import android.net.LinkProperties;
import android.net.NetworkInfo; import android.net.NetworkInfo;
import android.net.RouteInfo; import android.net.RouteInfo;
import android.os.INetworkManagementService;
import android.os.RemoteException; import android.os.RemoteException;
import android.os.ServiceSpecificException; import android.os.ServiceSpecificException;
import android.util.Log; import android.util.Log;
import com.android.internal.annotations.VisibleForTesting; import com.android.internal.annotations.VisibleForTesting;
import com.android.net.module.util.NetworkStackConstants; import com.android.net.module.util.NetworkStackConstants;
import com.android.server.net.BaseNetworkObserver;
import java.net.Inet6Address; import java.net.Inet6Address;
import java.util.Objects; import java.util.Objects;
@@ -48,7 +46,7 @@ import java.util.Objects;
* *
* @hide * @hide
*/ */
public class Nat464Xlat extends BaseNetworkObserver { public class Nat464Xlat {
private static final String TAG = Nat464Xlat.class.getSimpleName(); private static final String TAG = Nat464Xlat.class.getSimpleName();
// This must match the interface prefix in clatd.c. // This must match the interface prefix in clatd.c.
@@ -70,7 +68,6 @@ public class Nat464Xlat extends BaseNetworkObserver {
private final IDnsResolver mDnsResolver; private final IDnsResolver mDnsResolver;
private final INetd mNetd; private final INetd mNetd;
private final INetworkManagementService mNMService;
// The network we're running on, and its type. // The network we're running on, and its type.
private final NetworkAgentInfo mNetwork; private final NetworkAgentInfo mNetwork;
@@ -99,11 +96,9 @@ public class Nat464Xlat extends BaseNetworkObserver {
private boolean mPrefixDiscoveryRunning; private boolean mPrefixDiscoveryRunning;
public Nat464Xlat(NetworkAgentInfo nai, INetd netd, IDnsResolver dnsResolver, public Nat464Xlat(NetworkAgentInfo nai, INetd netd, IDnsResolver dnsResolver) {
INetworkManagementService nmService) {
mDnsResolver = dnsResolver; mDnsResolver = dnsResolver;
mNetd = netd; mNetd = netd;
mNMService = nmService;
mNetwork = nai; mNetwork = nai;
} }
@@ -174,13 +169,6 @@ public class Nat464Xlat extends BaseNetworkObserver {
* and set internal state. * and set internal state.
*/ */
private void enterStartingState(String baseIface) { private void enterStartingState(String baseIface) {
try {
mNMService.registerObserver(this);
} catch (RemoteException e) {
Log.e(TAG, "Can't register iface observer for clat on " + mNetwork.toShortString());
return;
}
mNat64PrefixInUse = selectNat64Prefix(); mNat64PrefixInUse = selectNat64Prefix();
String addrStr = null; String addrStr = null;
try { try {
@@ -216,11 +204,6 @@ public class Nat464Xlat extends BaseNetworkObserver {
* Unregister as a base observer for the stacked interface, and clear internal state. * Unregister as a base observer for the stacked interface, and clear internal state.
*/ */
private void leaveStartedState() { private void leaveStartedState() {
try {
mNMService.unregisterObserver(this);
} catch (RemoteException | IllegalStateException e) {
Log.e(TAG, "Error unregistering clatd observer on " + mBaseIface + ": " + e);
}
mNat64PrefixInUse = null; mNat64PrefixInUse = null;
mIface = null; mIface = null;
mBaseIface = null; mBaseIface = null;
@@ -507,12 +490,10 @@ public class Nat464Xlat extends BaseNetworkObserver {
stop(); stop();
} }
@Override
public void interfaceLinkStateChanged(String iface, boolean up) { public void interfaceLinkStateChanged(String iface, boolean up) {
mNetwork.handler().post(() -> { handleInterfaceLinkStateChanged(iface, up); }); mNetwork.handler().post(() -> { handleInterfaceLinkStateChanged(iface, up); });
} }
@Override
public void interfaceRemoved(String iface) { public void interfaceRemoved(String iface) {
mNetwork.handler().post(() -> handleInterfaceRemoved(iface)); mNetwork.handler().post(() -> handleInterfaceRemoved(iface));
} }

View File

@@ -43,7 +43,6 @@ import android.net.QosSession;
import android.net.TcpKeepalivePacketData; import android.net.TcpKeepalivePacketData;
import android.os.Handler; import android.os.Handler;
import android.os.IBinder; import android.os.IBinder;
import android.os.INetworkManagementService;
import android.os.RemoteException; import android.os.RemoteException;
import android.os.SystemClock; import android.os.SystemClock;
import android.telephony.data.EpsBearerQosSessionAttributes; import android.telephony.data.EpsBearerQosSessionAttributes;
@@ -341,8 +340,8 @@ public class NetworkAgentInfo implements Comparable<NetworkAgentInfo> {
public NetworkAgentInfo(INetworkAgent na, Network net, NetworkInfo info, public NetworkAgentInfo(INetworkAgent na, Network net, NetworkInfo info,
@NonNull LinkProperties lp, @NonNull NetworkCapabilities nc, int score, Context context, @NonNull LinkProperties lp, @NonNull NetworkCapabilities nc, int score, Context context,
Handler handler, NetworkAgentConfig config, ConnectivityService connService, INetd netd, Handler handler, NetworkAgentConfig config, ConnectivityService connService, INetd netd,
IDnsResolver dnsResolver, INetworkManagementService nms, int factorySerialNumber, IDnsResolver dnsResolver, int factorySerialNumber, int creatorUid,
int creatorUid, QosCallbackTracker qosCallbackTracker) { QosCallbackTracker qosCallbackTracker) {
Objects.requireNonNull(net); Objects.requireNonNull(net);
Objects.requireNonNull(info); Objects.requireNonNull(info);
Objects.requireNonNull(lp); Objects.requireNonNull(lp);
@@ -356,7 +355,7 @@ public class NetworkAgentInfo implements Comparable<NetworkAgentInfo> {
linkProperties = lp; linkProperties = lp;
networkCapabilities = nc; networkCapabilities = nc;
mScore = score; mScore = score;
clatd = new Nat464Xlat(this, netd, dnsResolver, nms); clatd = new Nat464Xlat(this, netd, dnsResolver);
mConnService = connService; mConnService = connService;
mContext = context; mContext = context;
mHandler = handler; mHandler = handler;

View File

@@ -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())

View File

@@ -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),
@@ -7856,7 +7855,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);
@@ -7896,7 +7894,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))
@@ -7996,7 +7993,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))
@@ -8233,7 +8229,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(),
@@ -8927,8 +8922,8 @@ public class ConnectivityServiceTest {
ConnectivityManager.getNetworkTypeName(TYPE_MOBILE), ConnectivityManager.getNetworkTypeName(TYPE_MOBILE),
TelephonyManager.getNetworkTypeName(TelephonyManager.NETWORK_TYPE_LTE)); TelephonyManager.getNetworkTypeName(TelephonyManager.NETWORK_TYPE_LTE));
return new NetworkAgentInfo(null, new Network(NET_ID), info, new LinkProperties(), return new NetworkAgentInfo(null, new Network(NET_ID), info, new LinkProperties(),
nc, 0, mServiceContext, null, new NetworkAgentConfig(), mService, null, null, null, nc, 0, mServiceContext, null, new NetworkAgentConfig(), mService, null, null, 0,
0, INVALID_UID, mQosCallbackTracker); INVALID_UID, mQosCallbackTracker);
} }
@Test @Test

View File

@@ -41,7 +41,6 @@ import android.net.NetworkCapabilities;
import android.net.NetworkInfo; import android.net.NetworkInfo;
import android.net.NetworkProvider; import android.net.NetworkProvider;
import android.os.Binder; import android.os.Binder;
import android.os.INetworkManagementService;
import android.text.format.DateUtils; import android.text.format.DateUtils;
import androidx.test.filters.SmallTest; import androidx.test.filters.SmallTest;
@@ -74,7 +73,6 @@ public class LingerMonitorTest {
@Mock ConnectivityService mConnService; @Mock ConnectivityService mConnService;
@Mock IDnsResolver mDnsResolver; @Mock IDnsResolver mDnsResolver;
@Mock INetd mNetd; @Mock INetd mNetd;
@Mock INetworkManagementService mNMS;
@Mock Context mCtx; @Mock Context mCtx;
@Mock NetworkNotificationManager mNotifier; @Mock NetworkNotificationManager mNotifier;
@Mock Resources mResources; @Mock Resources mResources;
@@ -358,8 +356,8 @@ public class LingerMonitorTest {
caps.addTransportType(transport); caps.addTransportType(transport);
NetworkAgentInfo nai = new NetworkAgentInfo(null, new Network(netId), info, NetworkAgentInfo nai = new NetworkAgentInfo(null, new Network(netId), info,
new LinkProperties(), caps, 50, mCtx, null, new NetworkAgentConfig() /* config */, new LinkProperties(), caps, 50, mCtx, null, new NetworkAgentConfig() /* config */,
mConnService, mNetd, mDnsResolver, mNMS, NetworkProvider.ID_NONE, mConnService, mNetd, mDnsResolver, NetworkProvider.ID_NONE, Binder.getCallingUid(),
Binder.getCallingUid(), mQosCallbackTracker); mQosCallbackTracker);
nai.everValidated = true; nai.everValidated = true;
return nai; return nai;
} }

View File

@@ -36,7 +36,6 @@ import android.net.LinkProperties;
import android.net.NetworkAgentConfig; import android.net.NetworkAgentConfig;
import android.net.NetworkInfo; import android.net.NetworkInfo;
import android.os.Handler; import android.os.Handler;
import android.os.INetworkManagementService;
import android.os.test.TestLooper; import android.os.test.TestLooper;
import androidx.test.filters.SmallTest; import androidx.test.filters.SmallTest;
@@ -67,7 +66,6 @@ public class Nat464XlatTest {
@Mock ConnectivityService mConnectivity; @Mock ConnectivityService mConnectivity;
@Mock IDnsResolver mDnsResolver; @Mock IDnsResolver mDnsResolver;
@Mock INetd mNetd; @Mock INetd mNetd;
@Mock INetworkManagementService mNms;
@Mock NetworkAgentInfo mNai; @Mock NetworkAgentInfo mNai;
TestLooper mLooper; TestLooper mLooper;
@@ -75,7 +73,7 @@ public class Nat464XlatTest {
NetworkAgentConfig mAgentConfig = new NetworkAgentConfig(); NetworkAgentConfig mAgentConfig = new NetworkAgentConfig();
Nat464Xlat makeNat464Xlat() { Nat464Xlat makeNat464Xlat() {
return new Nat464Xlat(mNai, mNetd, mDnsResolver, mNms) { return new Nat464Xlat(mNai, mNetd, mDnsResolver) {
@Override protected int getNetId() { @Override protected int getNetId() {
return NETID; return NETID;
} }
@@ -206,7 +204,6 @@ public class Nat464XlatTest {
// Start clat. // Start clat.
nat.start(); nat.start();
verify(mNms).registerObserver(eq(nat));
verify(mNetd).clatdStart(eq(BASE_IFACE), eq(NAT64_PREFIX)); verify(mNetd).clatdStart(eq(BASE_IFACE), eq(NAT64_PREFIX));
// Stacked interface up notification arrives. // Stacked interface up notification arrives.
@@ -225,7 +222,6 @@ public class Nat464XlatTest {
verify(mNetd).clatdStop(eq(BASE_IFACE)); verify(mNetd).clatdStop(eq(BASE_IFACE));
verify(mConnectivity, times(2)).handleUpdateLinkProperties(eq(mNai), c.capture()); verify(mConnectivity, times(2)).handleUpdateLinkProperties(eq(mNai), c.capture());
verify(mNms).unregisterObserver(eq(nat));
assertTrue(c.getValue().getStackedLinks().isEmpty()); assertTrue(c.getValue().getStackedLinks().isEmpty());
assertFalse(c.getValue().getAllInterfaceNames().contains(STACKED_IFACE)); assertFalse(c.getValue().getAllInterfaceNames().contains(STACKED_IFACE));
verify(mDnsResolver).stopPrefix64Discovery(eq(NETID)); verify(mDnsResolver).stopPrefix64Discovery(eq(NETID));
@@ -235,7 +231,7 @@ public class Nat464XlatTest {
nat.interfaceRemoved(STACKED_IFACE); nat.interfaceRemoved(STACKED_IFACE);
mLooper.dispatchNext(); mLooper.dispatchNext();
verifyNoMoreInteractions(mNetd, mNms, mConnectivity); verifyNoMoreInteractions(mNetd, mConnectivity);
} }
@Test @Test
@@ -346,7 +342,6 @@ public class Nat464XlatTest {
nat.start(); nat.start();
verify(mNms).registerObserver(eq(nat));
verify(mNetd).clatdStart(eq(BASE_IFACE), eq(NAT64_PREFIX)); verify(mNetd).clatdStart(eq(BASE_IFACE), eq(NAT64_PREFIX));
// Stacked interface up notification arrives. // Stacked interface up notification arrives.
@@ -365,7 +360,6 @@ public class Nat464XlatTest {
verify(mNetd).clatdStop(eq(BASE_IFACE)); verify(mNetd).clatdStop(eq(BASE_IFACE));
verify(mConnectivity, times(2)).handleUpdateLinkProperties(eq(mNai), c.capture()); verify(mConnectivity, times(2)).handleUpdateLinkProperties(eq(mNai), c.capture());
verify(mNms).unregisterObserver(eq(nat));
verify(mDnsResolver).stopPrefix64Discovery(eq(NETID)); verify(mDnsResolver).stopPrefix64Discovery(eq(NETID));
assertTrue(c.getValue().getStackedLinks().isEmpty()); assertTrue(c.getValue().getStackedLinks().isEmpty());
assertFalse(c.getValue().getAllInterfaceNames().contains(STACKED_IFACE)); assertFalse(c.getValue().getAllInterfaceNames().contains(STACKED_IFACE));
@@ -374,7 +368,7 @@ public class Nat464XlatTest {
// ConnectivityService stops clat: no-op. // ConnectivityService stops clat: no-op.
nat.stop(); nat.stop();
verifyNoMoreInteractions(mNetd, mNms, mConnectivity); verifyNoMoreInteractions(mNetd, mConnectivity);
} }
private void checkStopBeforeClatdStarts(boolean dueToDisconnect) throws Exception { private void checkStopBeforeClatdStarts(boolean dueToDisconnect) throws Exception {
@@ -386,7 +380,6 @@ public class Nat464XlatTest {
nat.start(); nat.start();
verify(mNms).registerObserver(eq(nat));
verify(mNetd).clatdStart(eq(BASE_IFACE), eq(NAT64_PREFIX)); verify(mNetd).clatdStart(eq(BASE_IFACE), eq(NAT64_PREFIX));
// ConnectivityService immediately stops clat (Network disconnects, IPv4 addr appears, ...) // ConnectivityService immediately stops clat (Network disconnects, IPv4 addr appears, ...)
@@ -394,7 +387,6 @@ public class Nat464XlatTest {
nat.stop(); nat.stop();
verify(mNetd).clatdStop(eq(BASE_IFACE)); verify(mNetd).clatdStop(eq(BASE_IFACE));
verify(mNms).unregisterObserver(eq(nat));
verify(mDnsResolver).stopPrefix64Discovery(eq(NETID)); verify(mDnsResolver).stopPrefix64Discovery(eq(NETID));
assertIdle(nat); assertIdle(nat);
@@ -408,7 +400,7 @@ public class Nat464XlatTest {
assertIdle(nat); assertIdle(nat);
verifyNoMoreInteractions(mNetd, mNms, mConnectivity); verifyNoMoreInteractions(mNetd, mConnectivity);
} }
@Test @Test
@@ -430,7 +422,6 @@ public class Nat464XlatTest {
nat.start(); nat.start();
verify(mNms).registerObserver(eq(nat));
verify(mNetd).clatdStart(eq(BASE_IFACE), eq(NAT64_PREFIX)); verify(mNetd).clatdStart(eq(BASE_IFACE), eq(NAT64_PREFIX));
// ConnectivityService immediately stops clat (Network disconnects, IPv4 addr appears, ...) // ConnectivityService immediately stops clat (Network disconnects, IPv4 addr appears, ...)
@@ -438,11 +429,10 @@ public class Nat464XlatTest {
nat.stop(); nat.stop();
verify(mNetd).clatdStop(eq(BASE_IFACE)); verify(mNetd).clatdStop(eq(BASE_IFACE));
verify(mNms).unregisterObserver(eq(nat));
verify(mDnsResolver).stopPrefix64Discovery(eq(NETID)); verify(mDnsResolver).stopPrefix64Discovery(eq(NETID));
assertIdle(nat); assertIdle(nat);
verifyNoMoreInteractions(mNetd, mNms, mConnectivity); verifyNoMoreInteractions(mNetd, mConnectivity);
} }
@Test @Test