We wanted actual protection level, not flags.

Bug: 118083154
Test: manual
Change-Id: Ib5b105add2b92401f2dc4a3ca676d3303b46d54f
diff --git a/services/core/java/com/android/server/pm/permission/DefaultPermissionGrantPolicy.java b/services/core/java/com/android/server/pm/permission/DefaultPermissionGrantPolicy.java
index e6a018a..45cb477 100644
--- a/services/core/java/com/android/server/pm/permission/DefaultPermissionGrantPolicy.java
+++ b/services/core/java/com/android/server/pm/permission/DefaultPermissionGrantPolicy.java
@@ -1194,6 +1194,7 @@
                 } else {
                     permissions.clear();
                 }
+                permissions.add(permissionGrant.name);
                 grantRuntimePermissions(pkg, permissions, permissionGrant.fixed, userId);
             }
         }
@@ -1359,7 +1360,7 @@
     private boolean isPermissionDangerous(String name) {
         try {
             final PermissionInfo pi = mContext.getPackageManager().getPermissionInfo(name, 0);
-            return (pi.getProtectionFlags() & PermissionInfo.PROTECTION_DANGEROUS) != 0;
+            return (pi.getProtection() == PermissionInfo.PROTECTION_DANGEROUS);
         } catch (NameNotFoundException e) {
             // When unknown assume it's dangerous to be on the safe side
             return true;