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

Commit bee30416 authored by Hai Zhang's avatar Hai Zhang
Browse files

Third batch of permission in-process API refactoring.

Added javadoc for the methods and removed unused
grantDefaultPermissionsToDefaultBrowser().

Bug: 158736025
Test: presubmit
Change-Id: I113d1464b7c7fc76dd89d2c874a4f2807ba1c806
parent 0f3bd201
Loading
Loading
Loading
Loading
+17 −17
Original line number Original line Diff line number Diff line
@@ -1836,8 +1836,8 @@ public class PermissionManagerService extends IPermissionManager.Stub {
     * @param pkg The package for which to reset.
     * @param pkg The package for which to reset.
     * @param userId The device user for which to do a reset.
     * @param userId The device user for which to do a reset.
     */
     */
    private void resetRuntimePermissionsInternal(final AndroidPackage pkg,
    private void resetRuntimePermissionsInternal(@NonNull AndroidPackage pkg,
            final int userId) {
            @UserIdInt int userId) {
        final String packageName = pkg.getPackageName();
        final String packageName = pkg.getPackageName();


        // These are flags that can change base on user actions.
        // These are flags that can change base on user actions.
@@ -2658,7 +2658,7 @@ public class PermissionManagerService extends IPermissionManager.Stub {
    }
    }


    @NonNull
    @NonNull
    private Set<String> getGrantedPermissions(@NonNull String packageName,
    private Set<String> getGrantedPermissionsInternal(@NonNull String packageName,
            @UserIdInt int userId) {
            @UserIdInt int userId) {
        final PackageSetting ps = mPackageManagerInt.getPackageSetting(packageName);
        final PackageSetting ps = mPackageManagerInt.getPackageSetting(packageName);
        if (ps == null) {
        if (ps == null) {
@@ -2697,7 +2697,7 @@ public class PermissionManagerService extends IPermissionManager.Stub {
    }
    }


    @NonNull
    @NonNull
    private int[] getPermissionGids(@NonNull String permissionName, @UserIdInt int userId) {
    private int[] getPermissionGidsInternal(@NonNull String permissionName, @UserIdInt int userId) {
        synchronized (mLock) {
        synchronized (mLock) {
            Permission permission = mRegistry.getPermission(permissionName);
            Permission permission = mRegistry.getPermission(permissionName);
            if (permission == null) {
            if (permission == null) {
@@ -5068,12 +5068,16 @@ public class PermissionManagerService extends IPermissionManager.Stub {
        @Override
        @Override
        public Set<String> getGrantedPermissions(@NonNull String packageName,
        public Set<String> getGrantedPermissions(@NonNull String packageName,
                @UserIdInt int userId) {
                @UserIdInt int userId) {
            return PermissionManagerService.this.getGrantedPermissions(packageName, userId);
            Objects.requireNonNull(packageName, "packageName");
            Preconditions.checkArgumentNonNegative(userId, "userId");
            return getGrantedPermissionsInternal(packageName, userId);
        }
        }
        @NonNull
        @NonNull
        @Override
        @Override
        public int[] getPermissionGids(@NonNull String permissionName, @UserIdInt int userId) {
        public int[] getPermissionGids(@NonNull String permissionName, @UserIdInt int userId) {
            return PermissionManagerService.this.getPermissionGids(permissionName, userId);
            Objects.requireNonNull(permissionName, "permissionName");
            Preconditions.checkArgumentNonNegative(userId, "userId");
            return getPermissionGidsInternal(permissionName, userId);
        }
        }
        @NonNull
        @NonNull
        @Override
        @Override
@@ -5114,13 +5118,15 @@ public class PermissionManagerService extends IPermissionManager.Stub {
                    .updateAllPermissions(volumeUuid, sdkUpdated, mDefaultPermissionCallback);
                    .updateAllPermissions(volumeUuid, sdkUpdated, mDefaultPermissionCallback);
        }
        }
        @Override
        @Override
        public void resetRuntimePermissions(AndroidPackage pkg, int userId) {
        public void resetRuntimePermissions(@NonNull AndroidPackage pkg, @UserIdInt int userId) {
            PermissionManagerService.this.resetRuntimePermissionsInternal(pkg, userId);
            Objects.requireNonNull(pkg, "pkg");
            Preconditions.checkArgumentNonNegative(userId, "userId");
            resetRuntimePermissionsInternal(pkg, userId);
        }
        }
        @Override
        @Override
        public void resetAllRuntimePermissions(final int userId) {
        public void resetAllRuntimePermissions(@UserIdInt int userId) {
            mPackageManagerInt.forEachPackage(
            Preconditions.checkArgumentNonNegative(userId, "userId");
                    (AndroidPackage pkg) -> resetRuntimePermissionsInternal(pkg, userId));
            mPackageManagerInt.forEachPackage(pkg -> resetRuntimePermissionsInternal(pkg, userId));
        }
        }
        @Override
        @Override
        public void enforceCrossUserPermission(int callingUid, int userId,
        public void enforceCrossUserPermission(int callingUid, int userId,
@@ -5354,12 +5360,6 @@ public class PermissionManagerService extends IPermissionManager.Stub {
                    packageName, userId);
                    packageName, userId);
        }
        }


        @Override
        public void grantDefaultPermissionsToDefaultBrowser(String packageName, int userId) {
            mDefaultPermissionGrantPolicy.grantDefaultPermissionsToDefaultBrowser(packageName,
                    userId);
        }

        @Override
        @Override
        public void onNewUserCreated(int userId) {
        public void onNewUserCreated(int userId) {
            // NOTE: This adds UPDATE_PERMISSIONS_REPLACE_PKG
            // NOTE: This adds UPDATE_PERMISSIONS_REPLACE_PKG
+24 −13
Original line number Original line Diff line number Diff line
@@ -257,19 +257,24 @@ public abstract class PermissionManagerServiceInternal extends PermissionManager
    public abstract void updateAllPermissions(@Nullable String volumeUuid, boolean sdkUpdate);
    public abstract void updateAllPermissions(@Nullable String volumeUuid, boolean sdkUpdate);


    /**
    /**
     * Resets any user permission state changes (eg. permissions and flags) of all
     * Reset the runtime permission state changes for a package.
     * packages installed for the given user.
     *
     *
     * @see #resetRuntimePermissions(AndroidPackage, int)
     * TODO(zhanghai): Turn this into package change callback?
     *
     * @param pkg the package
     * @param userId the user ID
     */
     */
    public abstract void resetAllRuntimePermissions(@UserIdInt int userId);
    //@SystemApi(client = SystemApi.Client.SYSTEM_SERVER)
    public abstract void resetRuntimePermissions(@NonNull AndroidPackage pkg,
            @UserIdInt int userId);


    /**
    /**
     * Resets any user permission state changes (eg. permissions and flags) of the
     * Reset the runtime permission state changes for all packages.
     * specified package for the given user.
     *
     * @param userId the user ID
     */
     */
    public abstract void resetRuntimePermissions(@NonNull AndroidPackage pkg,
    //@SystemApi(client = SystemApi.Client.SYSTEM_SERVER)
            @UserIdInt int userId);
    public abstract void resetAllRuntimePermissions(@UserIdInt int userId);


    /**
    /**
     * We might auto-grant permissions if any permission of the group is already granted. Hence if
     * We might auto-grant permissions if any permission of the group is already granted. Hence if
@@ -357,15 +362,25 @@ public abstract class PermissionManagerServiceInternal extends PermissionManager


    /**
    /**
     * Get all the permissions granted to a package.
     * Get all the permissions granted to a package.
     *
     * @param packageName the name of the package
     * @param userId the user ID
     * @return the names of the granted permissions
     */
     */
    //@SystemApi(client = SystemApi.Client.SYSTEM_SERVER)
    @NonNull
    @NonNull
    public abstract Set<String> getGrantedPermissions(@NonNull String packageName,
    public abstract Set<String> getGrantedPermissions(@NonNull String packageName,
            @UserIdInt int userId);
            @UserIdInt int userId);


    /**
    /**
     * Get the GIDs of a permission.
     * Get the GIDs of a permission.
     *
     * @param permissionName the name of the permission
     * @param userId the user ID
     * @return the GIDs of the permission
     */
     */
    @Nullable
    //@SystemApi(client = SystemApi.Client.SYSTEM_SERVER)
    @NonNull
    public abstract int[] getPermissionGids(@NonNull String permissionName, @UserIdInt int userId);
    public abstract int[] getPermissionGids(@NonNull String permissionName, @UserIdInt int userId);


    /**
    /**
@@ -404,10 +419,6 @@ public abstract class PermissionManagerServiceInternal extends PermissionManager
            boolean requireFullPermission, boolean checkShell,
            boolean requireFullPermission, boolean checkShell,
            boolean requirePermissionWhenSameUser, @NonNull String message);
            boolean requirePermissionWhenSameUser, @NonNull String message);


    /** Grants default browser permissions to the given package */
    public abstract void grantDefaultPermissionsToDefaultBrowser(
            @NonNull String packageName, @UserIdInt int userId);

    /** HACK HACK methods to allow for partial migration of data to the PermissionManager class */
    /** HACK HACK methods to allow for partial migration of data to the PermissionManager class */
    @Nullable
    @Nullable
    public abstract Permission getPermissionTEMP(@NonNull String permName);
    public abstract Permission getPermissionTEMP(@NonNull String permName);