Add NETWORK_AIRPLANE_MODE permission

Add a permission to allow airplane mode to
be toggled without holding the NETWORK_SETTINGS
(or similar) permission.

Bug: 141621384
Bug: 145164696
Test: TODO
Change-Id: Iebe2f501fdd802d54fd3345ac2fb0a8c129faf71
This commit is contained in:
Edward Savage-Jones
2019-11-26 13:18:08 +01:00
committed by Lorenzo Colitti
parent a717c87e3b
commit d472369791
2 changed files with 11 additions and 1 deletions

View File

@@ -2060,6 +2060,15 @@ public class ConnectivityService extends IConnectivityManager.Stub
NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK);
}
private void enforceAirplaneModePermission() {
enforceAnyPermissionOf(
android.Manifest.permission.NETWORK_AIRPLANE_MODE,
android.Manifest.permission.NETWORK_SETTINGS,
android.Manifest.permission.NETWORK_SETUP_WIZARD,
android.Manifest.permission.NETWORK_STACK,
NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK);
}
private boolean checkNetworkStackPermission() {
return checkAnyPermissionOf(
android.Manifest.permission.NETWORK_STACK,
@@ -4900,7 +4909,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
@Override
public void setAirplaneMode(boolean enable) {
enforceNetworkStackSettingsOrSetup();
enforceAirplaneModePermission();
final long ident = Binder.clearCallingIdentity();
try {
final ContentResolver cr = mContext.getContentResolver();