[Tether07] Migrate Tethering into module
Now tethering would be run in dedicated service.
TetheringManager is the interface used to communicate with
TetheringService. The new call flow would be: ConnectivityManager
-> ConnectivityService -> TetheringManager -> TetheringService.
Note: the return value of #tether(), #untether() and #setUsbTethering()
APIs would always be no error. Client can use #getLastTetherError()
or #getTetheredIfaces or listen tether state change to check
status of corresponding interface.
Bug: 136040414
Bug: 144742179
Test: -build, flash, boot
-atest TetheringTests
-atest FrameworksNetTests
Change-Id: I7e78c0e0a3e70f940a749ba2a39ece7c7ec5b9b3
Merged-In: I7e78c0e0a3e70f940a749ba2a39ece7c7ec5b9b3
This commit is contained in:
@@ -108,6 +108,7 @@ import android.net.PrivateDnsConfigParcel;
|
|||||||
import android.net.ProxyInfo;
|
import android.net.ProxyInfo;
|
||||||
import android.net.RouteInfo;
|
import android.net.RouteInfo;
|
||||||
import android.net.SocketKeepalive;
|
import android.net.SocketKeepalive;
|
||||||
|
import android.net.TetheringManager;
|
||||||
import android.net.UidRange;
|
import android.net.UidRange;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
import android.net.VpnService;
|
import android.net.VpnService;
|
||||||
@@ -187,9 +188,7 @@ import com.android.server.connectivity.NetworkNotificationManager;
|
|||||||
import com.android.server.connectivity.NetworkNotificationManager.NotificationType;
|
import com.android.server.connectivity.NetworkNotificationManager.NotificationType;
|
||||||
import com.android.server.connectivity.PermissionMonitor;
|
import com.android.server.connectivity.PermissionMonitor;
|
||||||
import com.android.server.connectivity.ProxyTracker;
|
import com.android.server.connectivity.ProxyTracker;
|
||||||
import com.android.server.connectivity.Tethering;
|
|
||||||
import com.android.server.connectivity.Vpn;
|
import com.android.server.connectivity.Vpn;
|
||||||
import com.android.server.connectivity.tethering.TetheringDependencies;
|
|
||||||
import com.android.server.net.BaseNetdEventCallback;
|
import com.android.server.net.BaseNetdEventCallback;
|
||||||
import com.android.server.net.BaseNetworkObserver;
|
import com.android.server.net.BaseNetworkObserver;
|
||||||
import com.android.server.net.LockdownVpnTracker;
|
import com.android.server.net.LockdownVpnTracker;
|
||||||
@@ -233,7 +232,6 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
|||||||
|
|
||||||
private static final String DIAG_ARG = "--diag";
|
private static final String DIAG_ARG = "--diag";
|
||||||
public static final String SHORT_ARG = "--short";
|
public static final String SHORT_ARG = "--short";
|
||||||
private static final String TETHERING_ARG = "tethering";
|
|
||||||
private static final String NETWORK_ARG = "networks";
|
private static final String NETWORK_ARG = "networks";
|
||||||
private static final String REQUEST_ARG = "requests";
|
private static final String REQUEST_ARG = "requests";
|
||||||
|
|
||||||
@@ -280,7 +278,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
|||||||
|
|
||||||
private MockableSystemProperties mSystemProperties;
|
private MockableSystemProperties mSystemProperties;
|
||||||
|
|
||||||
private Tethering mTethering;
|
private TetheringManager mTetheringManager;
|
||||||
|
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
protected final PermissionMonitor mPermissionMonitor;
|
protected final PermissionMonitor mPermissionMonitor;
|
||||||
@@ -869,15 +867,10 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @see Tethering
|
* Get a reference to the TetheringManager.
|
||||||
*/
|
*/
|
||||||
public Tethering makeTethering(@NonNull Context context,
|
public TetheringManager getTetheringManager() {
|
||||||
@NonNull INetworkManagementService nms,
|
return TetheringManager.getInstance();
|
||||||
@NonNull INetworkStatsService statsService,
|
|
||||||
@NonNull INetworkPolicyManager policyManager,
|
|
||||||
@NonNull TetheringDependencies tetheringDeps) {
|
|
||||||
return new Tethering(context, nms, statsService, policyManager,
|
|
||||||
IoThread.get().getLooper(), getSystemProperties(), tetheringDeps);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -1075,8 +1068,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
|||||||
|
|
||||||
mUserManager = (UserManager) context.getSystemService(Context.USER_SERVICE);
|
mUserManager = (UserManager) context.getSystemService(Context.USER_SERVICE);
|
||||||
|
|
||||||
mTethering = deps.makeTethering(mContext, mNMS, mStatsService, mPolicyManager,
|
mTetheringManager = mDeps.getTetheringManager();
|
||||||
makeTetheringDependencies());
|
|
||||||
|
|
||||||
mPermissionMonitor = new PermissionMonitor(mContext, mNetd);
|
mPermissionMonitor = new PermissionMonitor(mContext, mNetd);
|
||||||
|
|
||||||
@@ -1111,7 +1103,6 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
|||||||
mHandler);
|
mHandler);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
mNMS.registerObserver(mTethering);
|
|
||||||
mNMS.registerObserver(mDataActivityObserver);
|
mNMS.registerObserver(mDataActivityObserver);
|
||||||
} catch (RemoteException e) {
|
} catch (RemoteException e) {
|
||||||
loge("Error registering observer :" + e);
|
loge("Error registering observer :" + e);
|
||||||
@@ -1145,19 +1136,6 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
|||||||
registerPrivateDnsSettingsCallbacks();
|
registerPrivateDnsSettingsCallbacks();
|
||||||
}
|
}
|
||||||
|
|
||||||
private TetheringDependencies makeTetheringDependencies() {
|
|
||||||
return new TetheringDependencies() {
|
|
||||||
@Override
|
|
||||||
public boolean isTetheringSupported() {
|
|
||||||
return ConnectivityService.this.isTetheringSupported();
|
|
||||||
}
|
|
||||||
@Override
|
|
||||||
public NetworkRequest getDefaultNetworkRequest() {
|
|
||||||
return mDefaultRequest;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
private static NetworkCapabilities createDefaultNetworkCapabilitiesForUid(int uid) {
|
private static NetworkCapabilities createDefaultNetworkCapabilitiesForUid(int uid) {
|
||||||
final NetworkCapabilities netCap = new NetworkCapabilities();
|
final NetworkCapabilities netCap = new NetworkCapabilities();
|
||||||
netCap.addCapability(NET_CAPABILITY_INTERNET);
|
netCap.addCapability(NET_CAPABILITY_INTERNET);
|
||||||
@@ -1909,7 +1887,9 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
|||||||
// TODO: relocate this specific callback in Tethering.
|
// TODO: relocate this specific callback in Tethering.
|
||||||
if (restrictBackground) {
|
if (restrictBackground) {
|
||||||
log("onRestrictBackgroundChanged(true): disabling tethering");
|
log("onRestrictBackgroundChanged(true): disabling tethering");
|
||||||
mTethering.untetherAll();
|
mTetheringManager.stopTethering(ConnectivityManager.TETHERING_WIFI);
|
||||||
|
mTetheringManager.stopTethering(ConnectivityManager.TETHERING_USB);
|
||||||
|
mTetheringManager.stopTethering(ConnectivityManager.TETHERING_BLUETOOTH);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@@ -2188,7 +2168,6 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
|||||||
public void systemReady() {
|
public void systemReady() {
|
||||||
mProxyTracker.loadGlobalProxy();
|
mProxyTracker.loadGlobalProxy();
|
||||||
registerNetdEventCallback();
|
registerNetdEventCallback();
|
||||||
mTethering.systemReady();
|
|
||||||
|
|
||||||
synchronized (this) {
|
synchronized (this) {
|
||||||
mSystemReady = true;
|
mSystemReady = true;
|
||||||
@@ -2402,9 +2381,6 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
|||||||
if (ArrayUtils.contains(args, DIAG_ARG)) {
|
if (ArrayUtils.contains(args, DIAG_ARG)) {
|
||||||
dumpNetworkDiagnostics(pw);
|
dumpNetworkDiagnostics(pw);
|
||||||
return;
|
return;
|
||||||
} else if (ArrayUtils.contains(args, TETHERING_ARG)) {
|
|
||||||
mTethering.dump(fd, pw, args);
|
|
||||||
return;
|
|
||||||
} else if (ArrayUtils.contains(args, NETWORK_ARG)) {
|
} else if (ArrayUtils.contains(args, NETWORK_ARG)) {
|
||||||
dumpNetworks(pw);
|
dumpNetworks(pw);
|
||||||
return;
|
return;
|
||||||
@@ -2466,10 +2442,13 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
|||||||
mLegacyTypeTracker.dump(pw);
|
mLegacyTypeTracker.dump(pw);
|
||||||
|
|
||||||
pw.println();
|
pw.println();
|
||||||
mTethering.dump(fd, pw, args);
|
mKeepaliveTracker.dump(pw);
|
||||||
|
|
||||||
pw.println();
|
pw.println();
|
||||||
mKeepaliveTracker.dump(pw);
|
pw.println("TetheringManager logs:");
|
||||||
|
pw.increaseIndent();
|
||||||
|
TetheringManager.getInstance().dump(pw);
|
||||||
|
pw.decreaseIndent();
|
||||||
|
|
||||||
pw.println();
|
pw.println();
|
||||||
dumpAvoidBadWifiSettings(pw);
|
dumpAvoidBadWifiSettings(pw);
|
||||||
@@ -4001,7 +3980,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
|||||||
public int tether(String iface, String callerPkg) {
|
public int tether(String iface, String callerPkg) {
|
||||||
ConnectivityManager.enforceTetherChangePermission(mContext, callerPkg);
|
ConnectivityManager.enforceTetherChangePermission(mContext, callerPkg);
|
||||||
if (isTetheringSupported()) {
|
if (isTetheringSupported()) {
|
||||||
return mTethering.tether(iface);
|
return mTetheringManager.tether(iface);
|
||||||
} else {
|
} else {
|
||||||
return ConnectivityManager.TETHER_ERROR_UNSUPPORTED;
|
return ConnectivityManager.TETHER_ERROR_UNSUPPORTED;
|
||||||
}
|
}
|
||||||
@@ -4013,7 +3992,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
|||||||
ConnectivityManager.enforceTetherChangePermission(mContext, callerPkg);
|
ConnectivityManager.enforceTetherChangePermission(mContext, callerPkg);
|
||||||
|
|
||||||
if (isTetheringSupported()) {
|
if (isTetheringSupported()) {
|
||||||
return mTethering.untether(iface);
|
return mTetheringManager.untether(iface);
|
||||||
} else {
|
} else {
|
||||||
return ConnectivityManager.TETHER_ERROR_UNSUPPORTED;
|
return ConnectivityManager.TETHER_ERROR_UNSUPPORTED;
|
||||||
}
|
}
|
||||||
@@ -4025,7 +4004,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
|||||||
enforceTetherAccessPermission();
|
enforceTetherAccessPermission();
|
||||||
|
|
||||||
if (isTetheringSupported()) {
|
if (isTetheringSupported()) {
|
||||||
return mTethering.getLastTetherError(iface);
|
return mTetheringManager.getLastTetherError(iface);
|
||||||
} else {
|
} else {
|
||||||
return ConnectivityManager.TETHER_ERROR_UNSUPPORTED;
|
return ConnectivityManager.TETHER_ERROR_UNSUPPORTED;
|
||||||
}
|
}
|
||||||
@@ -4036,7 +4015,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
|||||||
public String[] getTetherableUsbRegexs() {
|
public String[] getTetherableUsbRegexs() {
|
||||||
enforceTetherAccessPermission();
|
enforceTetherAccessPermission();
|
||||||
if (isTetheringSupported()) {
|
if (isTetheringSupported()) {
|
||||||
return mTethering.getTetherableUsbRegexs();
|
return mTetheringManager.getTetherableUsbRegexs();
|
||||||
} else {
|
} else {
|
||||||
return new String[0];
|
return new String[0];
|
||||||
}
|
}
|
||||||
@@ -4046,7 +4025,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
|||||||
public String[] getTetherableWifiRegexs() {
|
public String[] getTetherableWifiRegexs() {
|
||||||
enforceTetherAccessPermission();
|
enforceTetherAccessPermission();
|
||||||
if (isTetheringSupported()) {
|
if (isTetheringSupported()) {
|
||||||
return mTethering.getTetherableWifiRegexs();
|
return mTetheringManager.getTetherableWifiRegexs();
|
||||||
} else {
|
} else {
|
||||||
return new String[0];
|
return new String[0];
|
||||||
}
|
}
|
||||||
@@ -4056,7 +4035,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
|||||||
public String[] getTetherableBluetoothRegexs() {
|
public String[] getTetherableBluetoothRegexs() {
|
||||||
enforceTetherAccessPermission();
|
enforceTetherAccessPermission();
|
||||||
if (isTetheringSupported()) {
|
if (isTetheringSupported()) {
|
||||||
return mTethering.getTetherableBluetoothRegexs();
|
return mTetheringManager.getTetherableBluetoothRegexs();
|
||||||
} else {
|
} else {
|
||||||
return new String[0];
|
return new String[0];
|
||||||
}
|
}
|
||||||
@@ -4066,7 +4045,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
|||||||
public int setUsbTethering(boolean enable, String callerPkg) {
|
public int setUsbTethering(boolean enable, String callerPkg) {
|
||||||
ConnectivityManager.enforceTetherChangePermission(mContext, callerPkg);
|
ConnectivityManager.enforceTetherChangePermission(mContext, callerPkg);
|
||||||
if (isTetheringSupported()) {
|
if (isTetheringSupported()) {
|
||||||
return mTethering.setUsbTethering(enable);
|
return mTetheringManager.setUsbTethering(enable);
|
||||||
} else {
|
} else {
|
||||||
return ConnectivityManager.TETHER_ERROR_UNSUPPORTED;
|
return ConnectivityManager.TETHER_ERROR_UNSUPPORTED;
|
||||||
}
|
}
|
||||||
@@ -4077,25 +4056,25 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
|||||||
@Override
|
@Override
|
||||||
public String[] getTetherableIfaces() {
|
public String[] getTetherableIfaces() {
|
||||||
enforceTetherAccessPermission();
|
enforceTetherAccessPermission();
|
||||||
return mTethering.getTetherableIfaces();
|
return mTetheringManager.getTetherableIfaces();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String[] getTetheredIfaces() {
|
public String[] getTetheredIfaces() {
|
||||||
enforceTetherAccessPermission();
|
enforceTetherAccessPermission();
|
||||||
return mTethering.getTetheredIfaces();
|
return mTetheringManager.getTetheredIfaces();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String[] getTetheringErroredIfaces() {
|
public String[] getTetheringErroredIfaces() {
|
||||||
enforceTetherAccessPermission();
|
enforceTetherAccessPermission();
|
||||||
return mTethering.getErroredIfaces();
|
return mTetheringManager.getTetheringErroredIfaces();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String[] getTetheredDhcpRanges() {
|
public String[] getTetheredDhcpRanges() {
|
||||||
enforceConnectivityInternalPermission();
|
enforceConnectivityInternalPermission();
|
||||||
return mTethering.getTetheredDhcpRanges();
|
return mTetheringManager.getTetheredDhcpRanges();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -4123,7 +4102,8 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
|||||||
Binder.restoreCallingIdentity(token);
|
Binder.restoreCallingIdentity(token);
|
||||||
}
|
}
|
||||||
|
|
||||||
return tetherEnabledInSettings && adminUser && mTethering.hasTetherableConfiguration();
|
return tetherEnabledInSettings && adminUser
|
||||||
|
&& mTetheringManager.hasTetherableConfiguration();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -4134,13 +4114,13 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
|||||||
receiver.send(ConnectivityManager.TETHER_ERROR_UNSUPPORTED, null);
|
receiver.send(ConnectivityManager.TETHER_ERROR_UNSUPPORTED, null);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
mTethering.startTethering(type, receiver, showProvisioningUi);
|
mTetheringManager.startTethering(type, receiver, showProvisioningUi);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void stopTethering(int type, String callerPkg) {
|
public void stopTethering(int type, String callerPkg) {
|
||||||
ConnectivityManager.enforceTetherChangePermission(mContext, callerPkg);
|
ConnectivityManager.enforceTetherChangePermission(mContext, callerPkg);
|
||||||
mTethering.stopTethering(type);
|
mTetheringManager.stopTethering(type);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -4154,7 +4134,8 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
|||||||
public void getLatestTetheringEntitlementResult(int type, ResultReceiver receiver,
|
public void getLatestTetheringEntitlementResult(int type, ResultReceiver receiver,
|
||||||
boolean showEntitlementUi, String callerPkg) {
|
boolean showEntitlementUi, String callerPkg) {
|
||||||
ConnectivityManager.enforceTetherChangePermission(mContext, callerPkg);
|
ConnectivityManager.enforceTetherChangePermission(mContext, callerPkg);
|
||||||
mTethering.getLatestTetheringEntitlementResult(type, receiver, showEntitlementUi);
|
mTetheringManager.requestLatestTetheringEntitlementResult(
|
||||||
|
type, receiver, showEntitlementUi);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Register tethering event callback. */
|
/** Register tethering event callback. */
|
||||||
@@ -4162,7 +4143,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
|||||||
public void registerTetheringEventCallback(ITetheringEventCallback callback,
|
public void registerTetheringEventCallback(ITetheringEventCallback callback,
|
||||||
String callerPkg) {
|
String callerPkg) {
|
||||||
ConnectivityManager.enforceTetherChangePermission(mContext, callerPkg);
|
ConnectivityManager.enforceTetherChangePermission(mContext, callerPkg);
|
||||||
mTethering.registerTetheringEventCallback(callback);
|
mTetheringManager.registerTetheringEventCallback(callback);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Unregister tethering event callback. */
|
/** Unregister tethering event callback. */
|
||||||
@@ -4170,7 +4151,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
|||||||
public void unregisterTetheringEventCallback(ITetheringEventCallback callback,
|
public void unregisterTetheringEventCallback(ITetheringEventCallback callback,
|
||||||
String callerPkg) {
|
String callerPkg) {
|
||||||
ConnectivityManager.enforceTetherChangePermission(mContext, callerPkg);
|
ConnectivityManager.enforceTetherChangePermission(mContext, callerPkg);
|
||||||
mTethering.unregisterTetheringEventCallback(callback);
|
mTetheringManager.unregisterTetheringEventCallback(callback);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Called when we lose the default network and have no replacement yet.
|
// Called when we lose the default network and have no replacement yet.
|
||||||
|
|||||||
@@ -45,7 +45,6 @@ android_test {
|
|||||||
name: "FrameworksNetTests",
|
name: "FrameworksNetTests",
|
||||||
defaults: ["FrameworksNetTests-jni-defaults"],
|
defaults: ["FrameworksNetTests-jni-defaults"],
|
||||||
srcs: [
|
srcs: [
|
||||||
":tethering-tests-src",
|
|
||||||
"java/**/*.java",
|
"java/**/*.java",
|
||||||
"java/**/*.kt",
|
"java/**/*.kt",
|
||||||
],
|
],
|
||||||
|
|||||||
@@ -32,6 +32,7 @@ import android.net.NetworkCapabilities.NET_CAPABILITY_INTERNET
|
|||||||
import android.net.NetworkCapabilities.TRANSPORT_CELLULAR
|
import android.net.NetworkCapabilities.TRANSPORT_CELLULAR
|
||||||
import android.net.NetworkRequest
|
import android.net.NetworkRequest
|
||||||
import android.net.TestNetworkStackClient
|
import android.net.TestNetworkStackClient
|
||||||
|
import android.net.TetheringManager
|
||||||
import android.net.metrics.IpConnectivityLog
|
import android.net.metrics.IpConnectivityLog
|
||||||
import android.os.ConditionVariable
|
import android.os.ConditionVariable
|
||||||
import android.os.IBinder
|
import android.os.IBinder
|
||||||
@@ -48,7 +49,6 @@ import com.android.server.connectivity.DefaultNetworkMetrics
|
|||||||
import com.android.server.connectivity.IpConnectivityMetrics
|
import com.android.server.connectivity.IpConnectivityMetrics
|
||||||
import com.android.server.connectivity.MockableSystemProperties
|
import com.android.server.connectivity.MockableSystemProperties
|
||||||
import com.android.server.connectivity.ProxyTracker
|
import com.android.server.connectivity.ProxyTracker
|
||||||
import com.android.server.connectivity.Tethering
|
|
||||||
import com.android.server.net.NetworkPolicyManagerInternal
|
import com.android.server.net.NetworkPolicyManagerInternal
|
||||||
import com.android.testutils.TestableNetworkCallback
|
import com.android.testutils.TestableNetworkCallback
|
||||||
import org.junit.After
|
import org.junit.After
|
||||||
@@ -169,8 +169,7 @@ class ConnectivityServiceIntegrationTest {
|
|||||||
val deps = spy(ConnectivityService.Dependencies())
|
val deps = spy(ConnectivityService.Dependencies())
|
||||||
doReturn(networkStackClient).`when`(deps).networkStack
|
doReturn(networkStackClient).`when`(deps).networkStack
|
||||||
doReturn(metricsLogger).`when`(deps).metricsLogger
|
doReturn(metricsLogger).`when`(deps).metricsLogger
|
||||||
doReturn(mock(Tethering::class.java)).`when`(deps).makeTethering(
|
doReturn(mock(TetheringManager::class.java)).`when`(deps).getTetheringManager()
|
||||||
any(), any(), any(), any(), any())
|
|
||||||
doReturn(mock(ProxyTracker::class.java)).`when`(deps).makeProxyTracker(any(), any())
|
doReturn(mock(ProxyTracker::class.java)).`when`(deps).makeProxyTracker(any(), any())
|
||||||
doReturn(mock(MockableSystemProperties::class.java)).`when`(deps).systemProperties
|
doReturn(mock(MockableSystemProperties::class.java)).`when`(deps).systemProperties
|
||||||
doReturn(TestNetIdManager()).`when`(deps).makeNetIdManager()
|
doReturn(TestNetIdManager()).`when`(deps).makeNetIdManager()
|
||||||
|
|||||||
@@ -160,6 +160,7 @@ import android.net.ProxyInfo;
|
|||||||
import android.net.ResolverParamsParcel;
|
import android.net.ResolverParamsParcel;
|
||||||
import android.net.RouteInfo;
|
import android.net.RouteInfo;
|
||||||
import android.net.SocketKeepalive;
|
import android.net.SocketKeepalive;
|
||||||
|
import android.net.TetheringManager;
|
||||||
import android.net.UidRange;
|
import android.net.UidRange;
|
||||||
import android.net.metrics.IpConnectivityLog;
|
import android.net.metrics.IpConnectivityLog;
|
||||||
import android.net.shared.NetworkMonitorUtils;
|
import android.net.shared.NetworkMonitorUtils;
|
||||||
@@ -207,7 +208,6 @@ import com.android.server.connectivity.MockableSystemProperties;
|
|||||||
import com.android.server.connectivity.Nat464Xlat;
|
import com.android.server.connectivity.Nat464Xlat;
|
||||||
import com.android.server.connectivity.NetworkNotificationManager.NotificationType;
|
import com.android.server.connectivity.NetworkNotificationManager.NotificationType;
|
||||||
import com.android.server.connectivity.ProxyTracker;
|
import com.android.server.connectivity.ProxyTracker;
|
||||||
import com.android.server.connectivity.Tethering;
|
|
||||||
import com.android.server.connectivity.Vpn;
|
import com.android.server.connectivity.Vpn;
|
||||||
import com.android.server.net.NetworkPinner;
|
import com.android.server.net.NetworkPinner;
|
||||||
import com.android.server.net.NetworkPolicyManagerInternal;
|
import com.android.server.net.NetworkPolicyManagerInternal;
|
||||||
@@ -1127,7 +1127,7 @@ public class ConnectivityServiceTest {
|
|||||||
doReturn(new TestNetIdManager()).when(deps).makeNetIdManager();
|
doReturn(new TestNetIdManager()).when(deps).makeNetIdManager();
|
||||||
doReturn(mNetworkStack).when(deps).getNetworkStack();
|
doReturn(mNetworkStack).when(deps).getNetworkStack();
|
||||||
doReturn(systemProperties).when(deps).getSystemProperties();
|
doReturn(systemProperties).when(deps).getSystemProperties();
|
||||||
doReturn(mock(Tethering.class)).when(deps).makeTethering(any(), any(), any(), any(), any());
|
doReturn(mock(TetheringManager.class)).when(deps).getTetheringManager();
|
||||||
doReturn(mock(ProxyTracker.class)).when(deps).makeProxyTracker(any(), any());
|
doReturn(mock(ProxyTracker.class)).when(deps).makeProxyTracker(any(), any());
|
||||||
doReturn(mMetricsService).when(deps).getMetricsLogger();
|
doReturn(mMetricsService).when(deps).getMetricsLogger();
|
||||||
doReturn(true).when(deps).queryUserAccess(anyInt(), anyInt());
|
doReturn(true).when(deps).queryUserAccess(anyInt(), anyInt());
|
||||||
|
|||||||
Reference in New Issue
Block a user