Loading services/permission/java/com/android/server/permission/access/permission/AppIdPermissionPolicy.kt +10 −3 Original line number Diff line number Diff line Loading @@ -286,14 +286,21 @@ class AppIdPermissionPolicy : SchemePolicy() { return@forEach } var newFlags = oldFlags val isSystemOrInstalled = packageState.isSystem || packageState.getUserStateOrDefault(userId).isInstalled newFlags = if ( isSystemOrInstalled && ( newFlags.hasBits(PermissionFlags.ROLE) || newFlags.hasBits(PermissionFlags.PREGRANT) ) ) { newFlags or PermissionFlags.RUNTIME_GRANTED } else { newFlags andInv PermissionFlags.RUNTIME_GRANTED newFlags andInv ( PermissionFlags.RUNTIME_GRANTED or PermissionFlags.ROLE or PermissionFlags.PREGRANT ) } newFlags = newFlags andInv USER_SETTABLE_MASK if (newFlags.hasBits(PermissionFlags.LEGACY_GRANTED)) { Loading services/tests/PermissionServiceMockingTests/src/com/android/server/permission/test/AppIdPermissionPolicyPermissionResetTest.kt +2 −1 Original line number Diff line number Diff line Loading @@ -72,7 +72,8 @@ class AppIdPermissionPolicyPermissionResetTest : BasePermissionPolicyTest() { } else { mockPackageState( APP_ID_1, mockAndroidPackage(PACKAGE_NAME_1, requestedPermissions = setOf(PERMISSION_NAME_0)) mockAndroidPackage(PACKAGE_NAME_1, requestedPermissions = setOf(PERMISSION_NAME_0)), true ) } setPermissionFlags(APP_ID_1, USER_ID_0, PERMISSION_NAME_0, oldFlags) Loading Loading
services/permission/java/com/android/server/permission/access/permission/AppIdPermissionPolicy.kt +10 −3 Original line number Diff line number Diff line Loading @@ -286,14 +286,21 @@ class AppIdPermissionPolicy : SchemePolicy() { return@forEach } var newFlags = oldFlags val isSystemOrInstalled = packageState.isSystem || packageState.getUserStateOrDefault(userId).isInstalled newFlags = if ( isSystemOrInstalled && ( newFlags.hasBits(PermissionFlags.ROLE) || newFlags.hasBits(PermissionFlags.PREGRANT) ) ) { newFlags or PermissionFlags.RUNTIME_GRANTED } else { newFlags andInv PermissionFlags.RUNTIME_GRANTED newFlags andInv ( PermissionFlags.RUNTIME_GRANTED or PermissionFlags.ROLE or PermissionFlags.PREGRANT ) } newFlags = newFlags andInv USER_SETTABLE_MASK if (newFlags.hasBits(PermissionFlags.LEGACY_GRANTED)) { Loading
services/tests/PermissionServiceMockingTests/src/com/android/server/permission/test/AppIdPermissionPolicyPermissionResetTest.kt +2 −1 Original line number Diff line number Diff line Loading @@ -72,7 +72,8 @@ class AppIdPermissionPolicyPermissionResetTest : BasePermissionPolicyTest() { } else { mockPackageState( APP_ID_1, mockAndroidPackage(PACKAGE_NAME_1, requestedPermissions = setOf(PERMISSION_NAME_0)) mockAndroidPackage(PACKAGE_NAME_1, requestedPermissions = setOf(PERMISSION_NAME_0)), true ) } setPermissionFlags(APP_ID_1, USER_ID_0, PERMISSION_NAME_0, oldFlags) Loading