Using Context#getSystemService instead of ServiceManager#checkService
ConnectivityService is going to be a mainline module, it can only use formal APIs or @SystemApi. So use public API - Context#getSystemService() instead of hidden API - ServiceManager#checkService(). Bug: 170598012 Test: atest FrameworksNetTests Change-Id: I9824caa7aec57e70f0ba405fcce39f9bc068732d
This commit is contained in:
@@ -928,13 +928,6 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
||||
return new MultinetworkPolicyTracker(c, h, r);
|
||||
}
|
||||
|
||||
/**
|
||||
* @see ServiceManager#checkService(String)
|
||||
*/
|
||||
public boolean hasService(@NonNull String name) {
|
||||
return ServiceManager.checkService(name) != null;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see IpConnectivityMetrics.Logger
|
||||
*/
|
||||
@@ -1078,7 +1071,8 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
||||
|
||||
// Do the same for Ethernet, since it's often not specified in the configs, although many
|
||||
// devices can use it via USB host adapters.
|
||||
if (mNetConfigs[TYPE_ETHERNET] == null && mDeps.hasService(Context.ETHERNET_SERVICE)) {
|
||||
if (mNetConfigs[TYPE_ETHERNET] == null
|
||||
&& mContext.getSystemService(Context.ETHERNET_SERVICE) != null) {
|
||||
mLegacyTypeTracker.addSupportedType(TYPE_ETHERNET);
|
||||
mNetworksDefined++;
|
||||
}
|
||||
|
||||
@@ -147,6 +147,7 @@ import android.net.ConnectivityManager.PacketKeepaliveCallback;
|
||||
import android.net.ConnectivityManager.TooManyRequestsException;
|
||||
import android.net.ConnectivityThread;
|
||||
import android.net.DataStallReportParcelable;
|
||||
import android.net.EthernetManager;
|
||||
import android.net.IConnectivityDiagnosticsCallback;
|
||||
import android.net.IDnsResolver;
|
||||
import android.net.IIpConnectivityMetrics;
|
||||
@@ -358,6 +359,7 @@ public class ConnectivityServiceTest {
|
||||
@Mock AppOpsManager mAppOpsManager;
|
||||
@Mock TelephonyManager mTelephonyManager;
|
||||
@Mock MockableSystemProperties mSystemProperties;
|
||||
@Mock EthernetManager mEthernetManager;
|
||||
|
||||
private ArgumentCaptor<ResolverParamsParcel> mResolverParamsParcelCaptor =
|
||||
ArgumentCaptor.forClass(ResolverParamsParcel.class);
|
||||
@@ -445,6 +447,7 @@ public class ConnectivityServiceTest {
|
||||
if (Context.LOCATION_SERVICE.equals(name)) return mLocationManager;
|
||||
if (Context.APP_OPS_SERVICE.equals(name)) return mAppOpsManager;
|
||||
if (Context.TELEPHONY_SERVICE.equals(name)) return mTelephonyManager;
|
||||
if (Context.ETHERNET_SERVICE.equals(name)) return mEthernetManager;
|
||||
return super.getSystemService(name);
|
||||
}
|
||||
|
||||
@@ -1274,7 +1277,6 @@ public class ConnectivityServiceTest {
|
||||
doReturn(true).when(deps).queryUserAccess(anyInt(), anyInt());
|
||||
doReturn(mIpConnectivityMetrics).when(deps).getIpConnectivityMetrics();
|
||||
doReturn(mBatteryStatsService).when(deps).getBatteryStatsService();
|
||||
doReturn(true).when(deps).hasService(Context.ETHERNET_SERVICE);
|
||||
doAnswer(inv -> {
|
||||
mPolicyTracker = new WrappedMultinetworkPolicyTracker(
|
||||
inv.getArgument(0), inv.getArgument(1), inv.getArgument(2));
|
||||
|
||||
Reference in New Issue
Block a user