Add CDM dependency in Tethering
This change introduces a limited library for dependencies on
framework-connectivity from Tethering,
connectivity-internal-api-util, where all classes are annotated with
@RequiresApi(S) to ensure proper API checks are done before usage.
Bug: 245972418
Change-Id: I82bafd9063341adc71d07f0858e6d68283d081f0
diff --git a/service/src/com/android/server/ConnectivityService.java b/service/src/com/android/server/ConnectivityService.java
index d547d83..e3e12fd 100755
--- a/service/src/com/android/server/ConnectivityService.java
+++ b/service/src/com/android/server/ConnectivityService.java
@@ -286,6 +286,7 @@
import com.android.server.connectivity.ProxyTracker;
import com.android.server.connectivity.QosCallbackTracker;
import com.android.server.connectivity.UidRangeUtils;
+import com.android.server.connectivity.wear.CompanionDeviceManagerProxyService;
import libcore.io.IoUtils;
@@ -435,6 +436,7 @@
*/
@GuardedBy("mTNSLock")
private TestNetworkService mTNS;
+ private final CompanionDeviceManagerProxyService mCdmps;
private final Object mTNSLock = new Object();
@@ -1586,6 +1588,12 @@
mIngressRateLimit = ConnectivitySettingsManager.getIngressRateLimitInBytesPerSecond(
mContext);
+
+ if (SdkLevel.isAtLeastT()) {
+ mCdmps = new CompanionDeviceManagerProxyService(context);
+ } else {
+ mCdmps = null;
+ }
}
/**
@@ -11491,4 +11499,10 @@
mBpfNetMaps.replaceUidChain(chain, uids);
}
+
+ @Override
+ public IBinder getCompanionDeviceManagerProxyService() {
+ enforceNetworkStackPermission(mContext);
+ return mCdmps;
+ }
}