summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--services/core/java/com/android/server/pm/PackageManagerService.java8
-rw-r--r--services/core/java/com/android/server/pm/permission/PermissionManagerService.java7
-rw-r--r--services/core/java/com/android/server/pm/permission/PermissionManagerServiceInternal.java4
3 files changed, 13 insertions, 6 deletions
diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java
index 4d84048fa603..5f4d11360160 100644
--- a/services/core/java/com/android/server/pm/PackageManagerService.java
+++ b/services/core/java/com/android/server/pm/PackageManagerService.java
@@ -24334,8 +24334,12 @@ public class PackageManagerService extends IPackageManager.Stub
@Override
public boolean isPermissionsReviewRequired(String packageName, int userId) {
synchronized (mPackages) {
- return mPermissionManager.isPermissionsReviewRequired(
- mPackages.get(packageName), userId);
+ final PackageParser.Package pkg = mPackages.get(packageName);
+ if (pkg == null) {
+ return false;
+ }
+
+ return mPermissionManager.isPermissionsReviewRequired(pkg, userId);
}
}
diff --git a/services/core/java/com/android/server/pm/permission/PermissionManagerService.java b/services/core/java/com/android/server/pm/permission/PermissionManagerService.java
index 4edd9eff7397..e4e0c554a060 100644
--- a/services/core/java/com/android/server/pm/permission/PermissionManagerService.java
+++ b/services/core/java/com/android/server/pm/permission/PermissionManagerService.java
@@ -1897,14 +1897,15 @@ public class PermissionManagerService {
return Boolean.TRUE == granted;
}
- private boolean isPermissionsReviewRequired(PackageParser.Package pkg, int userId) {
+ private boolean isPermissionsReviewRequired(@NonNull PackageParser.Package pkg,
+ @UserIdInt int userId) {
// Permission review applies only to apps not supporting the new permission model.
if (pkg.applicationInfo.targetSdkVersion >= Build.VERSION_CODES.M) {
return false;
}
// Legacy apps have the permission and get user consent on launch.
- if (pkg == null || pkg.mExtras == null) {
+ if (pkg.mExtras == null) {
return false;
}
final PackageSetting ps = (PackageSetting) pkg.mExtras;
@@ -2952,7 +2953,7 @@ public class PermissionManagerService {
PermissionManagerService.this.systemReady();
}
@Override
- public boolean isPermissionsReviewRequired(Package pkg, int userId) {
+ public boolean isPermissionsReviewRequired(@NonNull Package pkg, @UserIdInt int userId) {
return PermissionManagerService.this.isPermissionsReviewRequired(pkg, userId);
}
@Override
diff --git a/services/core/java/com/android/server/pm/permission/PermissionManagerServiceInternal.java b/services/core/java/com/android/server/pm/permission/PermissionManagerServiceInternal.java
index 9fb71f44716b..313de3daffa3 100644
--- a/services/core/java/com/android/server/pm/permission/PermissionManagerServiceInternal.java
+++ b/services/core/java/com/android/server/pm/permission/PermissionManagerServiceInternal.java
@@ -18,6 +18,7 @@ package com.android.server.pm.permission;
import android.annotation.NonNull;
import android.annotation.Nullable;
+import android.annotation.UserIdInt;
import android.content.pm.PackageManager;
import android.content.pm.PackageManager.PermissionInfoFlags;
import android.content.pm.PackageParser;
@@ -65,7 +66,8 @@ public abstract class PermissionManagerServiceInternal extends PermissionManager
public abstract void systemReady();
- public abstract boolean isPermissionsReviewRequired(PackageParser.Package pkg, int userId);
+ public abstract boolean isPermissionsReviewRequired(@NonNull PackageParser.Package pkg,
+ @UserIdInt int userId);
public abstract void grantRuntimePermission(
@NonNull String permName, @NonNull String packageName, boolean overridePolicy,