Adding permission for OEM managed preferences
Adding CONTROL_OEM_PAID_NETWORK_PREFERENCE as a signature level permission to allow an application to control OEM managed network preferences. Bug: 176496438 Bug: 176494815 Test: atest FrameworksNetTests atest NetworkStackTests atest FrameworksNetIntegrationTests atest NetworkStackIntegrationTests atest CtsNetTestCasesLatestSdk Change-Id: Iee13e89f3931c7079c2d88cb57b249b1b1cf93ad Change-Id: Id29cafe1eaf5dff8a0605cb2579204d9c77b7e70
This commit is contained in:
@@ -5116,6 +5116,7 @@ public class ConnectivityManager {
|
|||||||
* @throws SecurityException if missing the appropriate permissions.
|
* @throws SecurityException if missing the appropriate permissions.
|
||||||
* @throws UnsupportedOperationException if called on a non-automotive device.
|
* @throws UnsupportedOperationException if called on a non-automotive device.
|
||||||
*/
|
*/
|
||||||
|
@RequiresPermission(android.Manifest.permission.CONTROL_OEM_PAID_NETWORK_PREFERENCE)
|
||||||
private void setOemNetworkPreference(@NonNull final OemNetworkPreferences preference,
|
private void setOemNetworkPreference(@NonNull final OemNetworkPreferences preference,
|
||||||
@Nullable @CallbackExecutor final Executor executor,
|
@Nullable @CallbackExecutor final Executor executor,
|
||||||
@Nullable final OnSetOemNetworkPreferenceListener listener) {
|
@Nullable final OnSetOemNetworkPreferenceListener listener) {
|
||||||
|
|||||||
@@ -2312,6 +2312,12 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
|||||||
NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK);
|
NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void enforceOemNetworkPreferencesPermission() {
|
||||||
|
mContext.enforceCallingOrSelfPermission(
|
||||||
|
android.Manifest.permission.CONTROL_OEM_PAID_NETWORK_PREFERENCE,
|
||||||
|
"ConnectivityService");
|
||||||
|
}
|
||||||
|
|
||||||
private boolean checkNetworkStackPermission() {
|
private boolean checkNetworkStackPermission() {
|
||||||
return checkAnyPermissionOf(
|
return checkAnyPermissionOf(
|
||||||
android.Manifest.permission.NETWORK_STACK,
|
android.Manifest.permission.NETWORK_STACK,
|
||||||
@@ -9334,8 +9340,9 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
|||||||
public void setOemNetworkPreference(
|
public void setOemNetworkPreference(
|
||||||
@NonNull final OemNetworkPreferences preference,
|
@NonNull final OemNetworkPreferences preference,
|
||||||
@Nullable final IOnSetOemNetworkPreferenceListener listener) {
|
@Nullable final IOnSetOemNetworkPreferenceListener listener) {
|
||||||
|
|
||||||
|
enforceOemNetworkPreferencesPermission();
|
||||||
enforceAutomotiveDevice();
|
enforceAutomotiveDevice();
|
||||||
// TODO http://b/176496438 add permission check once permissions are added.
|
|
||||||
|
|
||||||
Objects.requireNonNull(preference, "OemNetworkPreferences must be non-null");
|
Objects.requireNonNull(preference, "OemNetworkPreferences must be non-null");
|
||||||
validateOemNetworkPreferences(preference);
|
validateOemNetworkPreferences(preference);
|
||||||
|
|||||||
Reference in New Issue
Block a user