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);
|
return new MultinetworkPolicyTracker(c, h, r);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @see ServiceManager#checkService(String)
|
|
||||||
*/
|
|
||||||
public boolean hasService(@NonNull String name) {
|
|
||||||
return ServiceManager.checkService(name) != null;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @see IpConnectivityMetrics.Logger
|
* @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
|
// Do the same for Ethernet, since it's often not specified in the configs, although many
|
||||||
// devices can use it via USB host adapters.
|
// 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);
|
mLegacyTypeTracker.addSupportedType(TYPE_ETHERNET);
|
||||||
mNetworksDefined++;
|
mNetworksDefined++;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -147,6 +147,7 @@ import android.net.ConnectivityManager.PacketKeepaliveCallback;
|
|||||||
import android.net.ConnectivityManager.TooManyRequestsException;
|
import android.net.ConnectivityManager.TooManyRequestsException;
|
||||||
import android.net.ConnectivityThread;
|
import android.net.ConnectivityThread;
|
||||||
import android.net.DataStallReportParcelable;
|
import android.net.DataStallReportParcelable;
|
||||||
|
import android.net.EthernetManager;
|
||||||
import android.net.IConnectivityDiagnosticsCallback;
|
import android.net.IConnectivityDiagnosticsCallback;
|
||||||
import android.net.IDnsResolver;
|
import android.net.IDnsResolver;
|
||||||
import android.net.IIpConnectivityMetrics;
|
import android.net.IIpConnectivityMetrics;
|
||||||
@@ -358,6 +359,7 @@ public class ConnectivityServiceTest {
|
|||||||
@Mock AppOpsManager mAppOpsManager;
|
@Mock AppOpsManager mAppOpsManager;
|
||||||
@Mock TelephonyManager mTelephonyManager;
|
@Mock TelephonyManager mTelephonyManager;
|
||||||
@Mock MockableSystemProperties mSystemProperties;
|
@Mock MockableSystemProperties mSystemProperties;
|
||||||
|
@Mock EthernetManager mEthernetManager;
|
||||||
|
|
||||||
private ArgumentCaptor<ResolverParamsParcel> mResolverParamsParcelCaptor =
|
private ArgumentCaptor<ResolverParamsParcel> mResolverParamsParcelCaptor =
|
||||||
ArgumentCaptor.forClass(ResolverParamsParcel.class);
|
ArgumentCaptor.forClass(ResolverParamsParcel.class);
|
||||||
@@ -445,6 +447,7 @@ public class ConnectivityServiceTest {
|
|||||||
if (Context.LOCATION_SERVICE.equals(name)) return mLocationManager;
|
if (Context.LOCATION_SERVICE.equals(name)) return mLocationManager;
|
||||||
if (Context.APP_OPS_SERVICE.equals(name)) return mAppOpsManager;
|
if (Context.APP_OPS_SERVICE.equals(name)) return mAppOpsManager;
|
||||||
if (Context.TELEPHONY_SERVICE.equals(name)) return mTelephonyManager;
|
if (Context.TELEPHONY_SERVICE.equals(name)) return mTelephonyManager;
|
||||||
|
if (Context.ETHERNET_SERVICE.equals(name)) return mEthernetManager;
|
||||||
return super.getSystemService(name);
|
return super.getSystemService(name);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1274,7 +1277,6 @@ public class ConnectivityServiceTest {
|
|||||||
doReturn(true).when(deps).queryUserAccess(anyInt(), anyInt());
|
doReturn(true).when(deps).queryUserAccess(anyInt(), anyInt());
|
||||||
doReturn(mIpConnectivityMetrics).when(deps).getIpConnectivityMetrics();
|
doReturn(mIpConnectivityMetrics).when(deps).getIpConnectivityMetrics();
|
||||||
doReturn(mBatteryStatsService).when(deps).getBatteryStatsService();
|
doReturn(mBatteryStatsService).when(deps).getBatteryStatsService();
|
||||||
doReturn(true).when(deps).hasService(Context.ETHERNET_SERVICE);
|
|
||||||
doAnswer(inv -> {
|
doAnswer(inv -> {
|
||||||
mPolicyTracker = new WrappedMultinetworkPolicyTracker(
|
mPolicyTracker = new WrappedMultinetworkPolicyTracker(
|
||||||
inv.getArgument(0), inv.getArgument(1), inv.getArgument(2));
|
inv.getArgument(0), inv.getArgument(1), inv.getArgument(2));
|
||||||
|
|||||||
Reference in New Issue
Block a user