Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f4924f1c authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Handle invalid package name in isPermissionsReviewRequired" into qt-dev

parents 58c51d17 c91ff6f0
Loading
Loading
Loading
Loading
+6 −2
Original line number Diff line number Diff line
@@ -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);
            }
        }
+4 −3
Original line number Diff line number Diff line
@@ -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
+3 −1
Original line number Diff line number Diff line
@@ -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,