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:
@@ -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;
|
||||||
|
|||||||
@@ -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(),
|
||||||
|
|||||||
@@ -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));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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),
|
||||||
@@ -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
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user