summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Svetoslav Ganov <svetoslavganov@google.com> 2015-10-29 01:33:09 +0000
committer android-build-merger <android-build-merger@google.com> 2015-10-29 01:33:09 +0000
commita1b8d77ca3ea6cc5e851dce8701785524e3049eb (patch)
tree1bbb5b2888ee9d05634afb01f54a17c5a950d849
parentd592a5a43ac9fa922c8747f2ff6e65cb27ff0b75 (diff)
parent08d013d3a1e6306533c2fae1a4581986ffc9a642 (diff)
Merge "Make SYSTEM_ALERT_WINDOW development permission" into mnc-dr-dev am: 2658cb002a am: 35151fbc8b
am: 08d013d3a1 * commit '08d013d3a1e6306533c2fae1a4581986ffc9a642': Make SYSTEM_ALERT_WINDOW development permission
-rw-r--r--core/res/AndroidManifest.xml2
-rw-r--r--services/core/java/com/android/server/pm/PackageManagerService.java18
2 files changed, 11 insertions, 9 deletions
diff --git a/core/res/AndroidManifest.xml b/core/res/AndroidManifest.xml
index 1f6b6d382d64..09cceb6360e5 100644
--- a/core/res/AndroidManifest.xml
+++ b/core/res/AndroidManifest.xml
@@ -1469,7 +1469,7 @@
<permission android:name="android.permission.SYSTEM_ALERT_WINDOW"
android:label="@string/permlab_systemAlertWindow"
android:description="@string/permdesc_systemAlertWindow"
- android:protectionLevel="signature|preinstalled|appop|pre23" />
+ android:protectionLevel="signature|preinstalled|appop|pre23|development" />
<!-- ================================== -->
<!-- Permissions affecting the system wallpaper -->
diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java
index f95ccea3dd7a..7bca8670e1a1 100644
--- a/services/core/java/com/android/server/pm/PackageManagerService.java
+++ b/services/core/java/com/android/server/pm/PackageManagerService.java
@@ -1714,13 +1714,14 @@ public class PackageManagerService extends IPackageManager.Stub {
return;
}
- PermissionsState permissionsState = sb.getPermissionsState();
-
- for (String permission : pkg.requestedPermissions) {
- BasePermission bp = mSettings.mPermissions.get(permission);
- if (bp != null && bp.isRuntime() && (grantedPermissions == null
- || ArrayUtils.contains(grantedPermissions, permission))) {
- permissionsState.grantRuntimePermission(bp, userId);
+ synchronized (mPackages) {
+ for (String permission : pkg.requestedPermissions) {
+ BasePermission bp = mSettings.mPermissions.get(permission);
+ if (bp != null && (bp.isRuntime() || bp.isDevelopment())
+ && (grantedPermissions == null
+ || ArrayUtils.contains(grantedPermissions, permission))) {
+ grantRuntimePermission(pkg.packageName, permission, userId);
+ }
}
}
}
@@ -3522,7 +3523,8 @@ public class PackageManagerService extends IPackageManager.Stub {
killUid(appId, userId, KILL_APP_REASON_GIDS_CHANGED);
}
});
- } break;
+ }
+ break;
}
mOnPermissionChangeListeners.onPermissionsChanged(uid);