Replace NetworkPolicyManagerInternal#isUidRestrictedOnMeteredNetworks()
Connectivity service is going to become a mainline module which will not able to access hidden APIs. NetworkPolicyManagerInternal is a internal serivce that CS can't be access after be a mainline module. Thus, create NPMS#isUidRestrictedOnMeteredNetworks() and NPM#isUidRestrictedOnMeteredNetworks() to replace NPMI#isUidRestrictedOnMeteredNetworks(). Also correct the permission check in isUidNetworkingBlocked() that needs to check OBSERVE_NETWORK_POLICY only. Bug: 170598012 Test: atest FrameworksNetTests Test: atest FrameworksCoreTests:NetworkPolicyManagerTest Test: atest FrameworksServicesTests:NetworkPolicyManagerServiceTest Test: atest CtsNetTestCases Test: atest CtsHostsideNetworkTests Change-Id: I5801a3a2076f3eb199a0226c38c85014b26c64e7
This commit is contained in:
@@ -5777,9 +5777,14 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
|||||||
// Policy already enforced.
|
// Policy already enforced.
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (mPolicyManagerInternal.isUidRestrictedOnMeteredNetworks(uid)) {
|
final long ident = Binder.clearCallingIdentity();
|
||||||
// If UID is restricted, don't allow them to bring up metered APNs.
|
try {
|
||||||
networkCapabilities.addCapability(NET_CAPABILITY_NOT_METERED);
|
if (mPolicyManager.isUidRestrictedOnMeteredNetworks(uid)) {
|
||||||
|
// If UID is restricted, don't allow them to bring up metered APNs.
|
||||||
|
networkCapabilities.addCapability(NET_CAPABILITY_NOT_METERED);
|
||||||
|
}
|
||||||
|
} finally {
|
||||||
|
Binder.restoreCallingIdentity(ident);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user