OSDN Git Service

Make SYSTEM_ALERT_WINDOW development permission
authorSvetoslav <svetoslavganov@google.com>
Tue, 27 Oct 2015 22:22:39 +0000 (15:22 -0700)
committerSvetoslav <svetoslavganov@google.com>
Wed, 28 Oct 2015 01:12:06 +0000 (18:12 -0700)
bug:25329324

Change-Id: I0086464846bab9424764dd0d726692d96a0f1207

core/res/AndroidManifest.xml
services/core/java/com/android/server/pm/PackageManagerService.java

index f13f821..03272e0 100644 (file)
     <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 -->
index 8e6e688..23f45e8 100644 (file)
@@ -1713,13 +1713,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);
+                }
             }
         }
     }
@@ -3519,7 +3520,8 @@ public class PackageManagerService extends IPackageManager.Stub {
                             killUid(appId, userId, KILL_APP_REASON_GIDS_CHANGED);
                         }
                     });
-                } break;
+                }
+                break;
             }
 
             mOnPermissionChangeListeners.onPermissionsChanged(uid);