Merge changes from topic "tethering-migrate"
* changes: [Tether10]Remove UserManagerInternal usage in Tethering [Tether07] Migrate Tethering into module [Tether07] Clean up build rule for libtetheroffloadjni
This commit is contained in:
committed by
Android (Google) Code Review
commit
af72e1415f
@@ -108,6 +108,7 @@ import android.net.PrivateDnsConfigParcel;
|
||||
import android.net.ProxyInfo;
|
||||
import android.net.RouteInfo;
|
||||
import android.net.SocketKeepalive;
|
||||
import android.net.TetheringManager;
|
||||
import android.net.UidRange;
|
||||
import android.net.Uri;
|
||||
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.PermissionMonitor;
|
||||
import com.android.server.connectivity.ProxyTracker;
|
||||
import com.android.server.connectivity.Tethering;
|
||||
import com.android.server.connectivity.Vpn;
|
||||
import com.android.server.connectivity.tethering.TetheringDependencies;
|
||||
import com.android.server.net.BaseNetdEventCallback;
|
||||
import com.android.server.net.BaseNetworkObserver;
|
||||
import com.android.server.net.LockdownVpnTracker;
|
||||
@@ -233,7 +232,6 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
||||
|
||||
private static final String DIAG_ARG = "--diag";
|
||||
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 REQUEST_ARG = "requests";
|
||||
|
||||
@@ -280,7 +278,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
||||
|
||||
private MockableSystemProperties mSystemProperties;
|
||||
|
||||
private Tethering mTethering;
|
||||
private TetheringManager mTetheringManager;
|
||||
|
||||
@VisibleForTesting
|
||||
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,
|
||||
@NonNull INetworkManagementService nms,
|
||||
@NonNull INetworkStatsService statsService,
|
||||
@NonNull INetworkPolicyManager policyManager,
|
||||
@NonNull TetheringDependencies tetheringDeps) {
|
||||
return new Tethering(context, nms, statsService, policyManager,
|
||||
IoThread.get().getLooper(), getSystemProperties(), tetheringDeps);
|
||||
public TetheringManager getTetheringManager() {
|
||||
return TetheringManager.getInstance();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1075,8 +1068,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
||||
|
||||
mUserManager = (UserManager) context.getSystemService(Context.USER_SERVICE);
|
||||
|
||||
mTethering = deps.makeTethering(mContext, mNMS, mStatsService, mPolicyManager,
|
||||
makeTetheringDependencies());
|
||||
mTetheringManager = mDeps.getTetheringManager();
|
||||
|
||||
mPermissionMonitor = new PermissionMonitor(mContext, mNetd);
|
||||
|
||||
@@ -1111,7 +1103,6 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
||||
mHandler);
|
||||
|
||||
try {
|
||||
mNMS.registerObserver(mTethering);
|
||||
mNMS.registerObserver(mDataActivityObserver);
|
||||
} catch (RemoteException e) {
|
||||
loge("Error registering observer :" + e);
|
||||
@@ -1145,19 +1136,6 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
||||
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) {
|
||||
final NetworkCapabilities netCap = new NetworkCapabilities();
|
||||
netCap.addCapability(NET_CAPABILITY_INTERNET);
|
||||
@@ -1909,7 +1887,9 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
||||
// TODO: relocate this specific callback in Tethering.
|
||||
if (restrictBackground) {
|
||||
log("onRestrictBackgroundChanged(true): disabling tethering");
|
||||
mTethering.untetherAll();
|
||||
mTetheringManager.stopTethering(ConnectivityManager.TETHERING_WIFI);
|
||||
mTetheringManager.stopTethering(ConnectivityManager.TETHERING_USB);
|
||||
mTetheringManager.stopTethering(ConnectivityManager.TETHERING_BLUETOOTH);
|
||||
}
|
||||
}
|
||||
};
|
||||
@@ -2193,7 +2173,6 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
||||
mPermissionMonitor.startMonitoring();
|
||||
mProxyTracker.loadGlobalProxy();
|
||||
registerNetdEventCallback();
|
||||
mTethering.systemReady();
|
||||
|
||||
synchronized (this) {
|
||||
mSystemReady = true;
|
||||
@@ -2405,9 +2384,6 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
||||
if (ArrayUtils.contains(args, DIAG_ARG)) {
|
||||
dumpNetworkDiagnostics(pw);
|
||||
return;
|
||||
} else if (ArrayUtils.contains(args, TETHERING_ARG)) {
|
||||
mTethering.dump(fd, pw, args);
|
||||
return;
|
||||
} else if (ArrayUtils.contains(args, NETWORK_ARG)) {
|
||||
dumpNetworks(pw);
|
||||
return;
|
||||
@@ -2469,10 +2445,13 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
||||
mLegacyTypeTracker.dump(pw);
|
||||
|
||||
pw.println();
|
||||
mTethering.dump(fd, pw, args);
|
||||
mKeepaliveTracker.dump(pw);
|
||||
|
||||
pw.println();
|
||||
mKeepaliveTracker.dump(pw);
|
||||
pw.println("TetheringManager logs:");
|
||||
pw.increaseIndent();
|
||||
TetheringManager.getInstance().dump(pw);
|
||||
pw.decreaseIndent();
|
||||
|
||||
pw.println();
|
||||
dumpAvoidBadWifiSettings(pw);
|
||||
@@ -4004,7 +3983,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
||||
public int tether(String iface, String callerPkg) {
|
||||
ConnectivityManager.enforceTetherChangePermission(mContext, callerPkg);
|
||||
if (isTetheringSupported()) {
|
||||
return mTethering.tether(iface);
|
||||
return mTetheringManager.tether(iface);
|
||||
} else {
|
||||
return ConnectivityManager.TETHER_ERROR_UNSUPPORTED;
|
||||
}
|
||||
@@ -4016,7 +3995,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
||||
ConnectivityManager.enforceTetherChangePermission(mContext, callerPkg);
|
||||
|
||||
if (isTetheringSupported()) {
|
||||
return mTethering.untether(iface);
|
||||
return mTetheringManager.untether(iface);
|
||||
} else {
|
||||
return ConnectivityManager.TETHER_ERROR_UNSUPPORTED;
|
||||
}
|
||||
@@ -4028,7 +4007,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
||||
enforceTetherAccessPermission();
|
||||
|
||||
if (isTetheringSupported()) {
|
||||
return mTethering.getLastTetherError(iface);
|
||||
return mTetheringManager.getLastTetherError(iface);
|
||||
} else {
|
||||
return ConnectivityManager.TETHER_ERROR_UNSUPPORTED;
|
||||
}
|
||||
@@ -4039,7 +4018,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
||||
public String[] getTetherableUsbRegexs() {
|
||||
enforceTetherAccessPermission();
|
||||
if (isTetheringSupported()) {
|
||||
return mTethering.getTetherableUsbRegexs();
|
||||
return mTetheringManager.getTetherableUsbRegexs();
|
||||
} else {
|
||||
return new String[0];
|
||||
}
|
||||
@@ -4049,7 +4028,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
||||
public String[] getTetherableWifiRegexs() {
|
||||
enforceTetherAccessPermission();
|
||||
if (isTetheringSupported()) {
|
||||
return mTethering.getTetherableWifiRegexs();
|
||||
return mTetheringManager.getTetherableWifiRegexs();
|
||||
} else {
|
||||
return new String[0];
|
||||
}
|
||||
@@ -4059,7 +4038,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
||||
public String[] getTetherableBluetoothRegexs() {
|
||||
enforceTetherAccessPermission();
|
||||
if (isTetheringSupported()) {
|
||||
return mTethering.getTetherableBluetoothRegexs();
|
||||
return mTetheringManager.getTetherableBluetoothRegexs();
|
||||
} else {
|
||||
return new String[0];
|
||||
}
|
||||
@@ -4069,7 +4048,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
||||
public int setUsbTethering(boolean enable, String callerPkg) {
|
||||
ConnectivityManager.enforceTetherChangePermission(mContext, callerPkg);
|
||||
if (isTetheringSupported()) {
|
||||
return mTethering.setUsbTethering(enable);
|
||||
return mTetheringManager.setUsbTethering(enable);
|
||||
} else {
|
||||
return ConnectivityManager.TETHER_ERROR_UNSUPPORTED;
|
||||
}
|
||||
@@ -4080,25 +4059,25 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
||||
@Override
|
||||
public String[] getTetherableIfaces() {
|
||||
enforceTetherAccessPermission();
|
||||
return mTethering.getTetherableIfaces();
|
||||
return mTetheringManager.getTetherableIfaces();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String[] getTetheredIfaces() {
|
||||
enforceTetherAccessPermission();
|
||||
return mTethering.getTetheredIfaces();
|
||||
return mTetheringManager.getTetheredIfaces();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String[] getTetheringErroredIfaces() {
|
||||
enforceTetherAccessPermission();
|
||||
return mTethering.getErroredIfaces();
|
||||
return mTetheringManager.getTetheringErroredIfaces();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String[] getTetheredDhcpRanges() {
|
||||
enforceConnectivityInternalPermission();
|
||||
return mTethering.getTetheredDhcpRanges();
|
||||
return mTetheringManager.getTetheredDhcpRanges();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -4126,7 +4105,8 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
||||
Binder.restoreCallingIdentity(token);
|
||||
}
|
||||
|
||||
return tetherEnabledInSettings && adminUser && mTethering.hasTetherableConfiguration();
|
||||
return tetherEnabledInSettings && adminUser
|
||||
&& mTetheringManager.hasTetherableConfiguration();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -4137,13 +4117,13 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
||||
receiver.send(ConnectivityManager.TETHER_ERROR_UNSUPPORTED, null);
|
||||
return;
|
||||
}
|
||||
mTethering.startTethering(type, receiver, showProvisioningUi);
|
||||
mTetheringManager.startTethering(type, receiver, showProvisioningUi);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void stopTethering(int type, String callerPkg) {
|
||||
ConnectivityManager.enforceTetherChangePermission(mContext, callerPkg);
|
||||
mTethering.stopTethering(type);
|
||||
mTetheringManager.stopTethering(type);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -4157,7 +4137,8 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
||||
public void getLatestTetheringEntitlementResult(int type, ResultReceiver receiver,
|
||||
boolean showEntitlementUi, String callerPkg) {
|
||||
ConnectivityManager.enforceTetherChangePermission(mContext, callerPkg);
|
||||
mTethering.getLatestTetheringEntitlementResult(type, receiver, showEntitlementUi);
|
||||
mTetheringManager.requestLatestTetheringEntitlementResult(
|
||||
type, receiver, showEntitlementUi);
|
||||
}
|
||||
|
||||
/** Register tethering event callback. */
|
||||
@@ -4165,7 +4146,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
||||
public void registerTetheringEventCallback(ITetheringEventCallback callback,
|
||||
String callerPkg) {
|
||||
ConnectivityManager.enforceTetherChangePermission(mContext, callerPkg);
|
||||
mTethering.registerTetheringEventCallback(callback);
|
||||
mTetheringManager.registerTetheringEventCallback(callback);
|
||||
}
|
||||
|
||||
/** Unregister tethering event callback. */
|
||||
@@ -4173,7 +4154,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
||||
public void unregisterTetheringEventCallback(ITetheringEventCallback callback,
|
||||
String callerPkg) {
|
||||
ConnectivityManager.enforceTetherChangePermission(mContext, callerPkg);
|
||||
mTethering.unregisterTetheringEventCallback(callback);
|
||||
mTetheringManager.unregisterTetheringEventCallback(callback);
|
||||
}
|
||||
|
||||
// Called when we lose the default network and have no replacement yet.
|
||||
|
||||
@@ -45,7 +45,6 @@ android_test {
|
||||
name: "FrameworksNetTests",
|
||||
defaults: ["FrameworksNetTests-jni-defaults"],
|
||||
srcs: [
|
||||
":tethering-tests-src",
|
||||
"java/**/*.java",
|
||||
"java/**/*.kt",
|
||||
],
|
||||
|
||||
@@ -32,6 +32,7 @@ import android.net.NetworkCapabilities.NET_CAPABILITY_INTERNET
|
||||
import android.net.NetworkCapabilities.TRANSPORT_CELLULAR
|
||||
import android.net.NetworkRequest
|
||||
import android.net.TestNetworkStackClient
|
||||
import android.net.TetheringManager
|
||||
import android.net.metrics.IpConnectivityLog
|
||||
import android.os.ConditionVariable
|
||||
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.MockableSystemProperties
|
||||
import com.android.server.connectivity.ProxyTracker
|
||||
import com.android.server.connectivity.Tethering
|
||||
import com.android.server.net.NetworkPolicyManagerInternal
|
||||
import com.android.testutils.TestableNetworkCallback
|
||||
import org.junit.After
|
||||
@@ -169,8 +169,7 @@ class ConnectivityServiceIntegrationTest {
|
||||
val deps = spy(ConnectivityService.Dependencies())
|
||||
doReturn(networkStackClient).`when`(deps).networkStack
|
||||
doReturn(metricsLogger).`when`(deps).metricsLogger
|
||||
doReturn(mock(Tethering::class.java)).`when`(deps).makeTethering(
|
||||
any(), any(), any(), any(), any())
|
||||
doReturn(mock(TetheringManager::class.java)).`when`(deps).getTetheringManager()
|
||||
doReturn(mock(ProxyTracker::class.java)).`when`(deps).makeProxyTracker(any(), any())
|
||||
doReturn(mock(MockableSystemProperties::class.java)).`when`(deps).systemProperties
|
||||
doReturn(TestNetIdManager()).`when`(deps).makeNetIdManager()
|
||||
|
||||
@@ -163,6 +163,7 @@ import android.net.ProxyInfo;
|
||||
import android.net.ResolverParamsParcel;
|
||||
import android.net.RouteInfo;
|
||||
import android.net.SocketKeepalive;
|
||||
import android.net.TetheringManager;
|
||||
import android.net.UidRange;
|
||||
import android.net.metrics.IpConnectivityLog;
|
||||
import android.net.shared.NetworkMonitorUtils;
|
||||
@@ -210,7 +211,6 @@ import com.android.server.connectivity.MockableSystemProperties;
|
||||
import com.android.server.connectivity.Nat464Xlat;
|
||||
import com.android.server.connectivity.NetworkNotificationManager.NotificationType;
|
||||
import com.android.server.connectivity.ProxyTracker;
|
||||
import com.android.server.connectivity.Tethering;
|
||||
import com.android.server.connectivity.Vpn;
|
||||
import com.android.server.net.NetworkPinner;
|
||||
import com.android.server.net.NetworkPolicyManagerInternal;
|
||||
@@ -1130,7 +1130,7 @@ public class ConnectivityServiceTest {
|
||||
doReturn(new TestNetIdManager()).when(deps).makeNetIdManager();
|
||||
doReturn(mNetworkStack).when(deps).getNetworkStack();
|
||||
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(mMetricsService).when(deps).getMetricsLogger();
|
||||
doReturn(true).when(deps).queryUserAccess(anyInt(), anyInt());
|
||||
|
||||
Reference in New Issue
Block a user