Loading core/java/android/permission/flags.aconfig +0 −11 Original line number Diff line number Diff line Loading @@ -155,14 +155,3 @@ flag { description: "Use runtime permission state to determine appop state" bug: "266164193" } flag { name: "ignore_apex_permissions" is_fixed_read_only: true namespace: "permissions" description: "Ignore APEX pacakges for permissions on V+" bug: "301320911" metadata { purpose: PURPOSE_BUGFIX } } core/java/com/android/internal/pm/pkg/parsing/ParsingPackageUtils.java +1 −2 Original line number Diff line number Diff line Loading @@ -1054,8 +1054,7 @@ public class ParsingPackageUtils { // An Apex package shouldn't have permission declarations final boolean isApex = (flags & PARSE_APEX) != 0; if (android.permission.flags.Flags.ignoreApexPermissions() && isApex && !pkg.getPermissions().isEmpty()) { if (isApex && !pkg.getPermissions().isEmpty()) { return input.error( INSTALL_PARSE_FAILED_MANIFEST_MALFORMED, pkg.getPackageName() Loading services/permission/java/com/android/server/permission/access/AccessPolicy.kt +4 −5 Original line number Diff line number Diff line Loading @@ -16,7 +16,6 @@ package com.android.server.permission.access import android.permission.flags.Flags import android.util.Slog import com.android.modules.utils.BinaryXmlPullParser import com.android.modules.utils.BinaryXmlSerializer Loading Loading @@ -79,7 +78,7 @@ private constructor( setPackageStates(packageStates) setDisabledSystemPackageStates(disabledSystemPackageStates) packageStates.forEach { (_, packageState) -> if (Flags.ignoreApexPermissions() && packageState.isApex) { if (packageState.isApex) { return@forEach } mutateAppIdPackageNames() Loading Loading @@ -107,7 +106,7 @@ private constructor( newState.mutateUserStatesNoWrite()[userId] = MutableUserState() forEachSchemePolicy { with(it) { onUserAdded(userId) } } newState.externalState.packageStates.forEach { (_, packageState) -> if (Flags.ignoreApexPermissions() && packageState.isApex) { if (packageState.isApex) { return@forEach } upgradePackageVersion(packageState, userId) Loading @@ -133,7 +132,7 @@ private constructor( setPackageStates(packageStates) setDisabledSystemPackageStates(disabledSystemPackageStates) packageStates.forEach { (packageName, packageState) -> if (Flags.ignoreApexPermissions() && packageState.isApex) { if (packageState.isApex) { return@forEach } if (packageState.volumeUuid == volumeUuid) { Loading Loading @@ -161,7 +160,7 @@ private constructor( with(it) { onStorageVolumeMounted(volumeUuid, packageNames, isSystemUpdated) } } packageStates.forEach { (_, packageState) -> if (Flags.ignoreApexPermissions() && packageState.isApex) { if (packageState.isApex) { return@forEach } if (packageState.volumeUuid == volumeUuid) { Loading services/permission/java/com/android/server/permission/access/permission/AppIdPermissionPolicy.kt +1 −1 Original line number Diff line number Diff line Loading @@ -81,7 +81,7 @@ class AppIdPermissionPolicy : SchemePolicy() { override fun MutateStateScope.onUserAdded(userId: Int) { newState.externalState.packageStates.forEach { (_, packageState) -> if (Flags.ignoreApexPermissions() && packageState.isApex) { if (packageState.isApex) { return@forEach } evaluateAllPermissionStatesForPackageAndUser(packageState, userId, null) Loading services/permission/java/com/android/server/permission/access/permission/PermissionService.kt +8 −8 Original line number Diff line number Diff line Loading @@ -1445,7 +1445,7 @@ class PermissionService(private val service: AccessCheckingService) : val packageStates = packageManagerLocal.withUnfilteredSnapshot().use { it.packageStates } service.mutateState { packageStates.forEach { (packageName, packageState) -> if (Flags.ignoreApexPermissions() && packageState.isApex) { if (packageState.isApex) { return@forEach } val androidPackage = packageState.androidPackage ?: return@forEach Loading Loading @@ -1880,7 +1880,7 @@ class PermissionService(private val service: AccessCheckingService) : packageManagerLocal.withUnfilteredSnapshot().use { snapshot -> service.mutateState { snapshot.packageStates.forEach { (_, packageState) -> if (Flags.ignoreApexPermissions() && packageState.isApex) { if (packageState.isApex) { return@forEach } with(policy) { resetRuntimePermissions(packageState.packageName, userId) } Loading Loading @@ -1925,7 +1925,7 @@ class PermissionService(private val service: AccessCheckingService) : packageManagerLocal.withUnfilteredSnapshot().use { snapshot -> snapshot.packageStates.forEach { (_, packageState) -> if (Flags.ignoreApexPermissions() && packageState.isApex) { if (packageState.isApex) { return@forEach } val androidPackage = packageState.androidPackage ?: return@forEach Loading @@ -1943,7 +1943,7 @@ class PermissionService(private val service: AccessCheckingService) : val permissions = service.getState { with(policy) { getPermissions() } } packageManagerLocal.withUnfilteredSnapshot().use { snapshot -> snapshot.packageStates.forEach packageStates@{ (_, packageState) -> if (Flags.ignoreApexPermissions() && packageState.isApex) { if (packageState.isApex) { return@packageStates } val androidPackage = packageState.androidPackage ?: return@packageStates Loading Loading @@ -2072,7 +2072,7 @@ class PermissionService(private val service: AccessCheckingService) : val appIdPackageNames = MutableIndexedMap<Int, MutableIndexedSet<String>>() packageStates.forEach { (_, packageState) -> if (Flags.ignoreApexPermissions() && packageState.isApex) { if (packageState.isApex) { return@forEach } appIdPackageNames Loading Loading @@ -2328,7 +2328,7 @@ class PermissionService(private val service: AccessCheckingService) : isInstantApp: Boolean, oldPackage: AndroidPackage? ) { if (Flags.ignoreApexPermissions() && packageState.isApex) { if (packageState.isApex) { return } Loading Loading @@ -2358,7 +2358,7 @@ class PermissionService(private val service: AccessCheckingService) : params: PermissionManagerServiceInternal.PackageInstalledParams, userId: Int ) { if (Flags.ignoreApexPermissions() && androidPackage.isApex) { if (androidPackage.isApex) { return } Loading Loading @@ -2414,7 +2414,7 @@ class PermissionService(private val service: AccessCheckingService) : sharedUserPkgs: List<AndroidPackage>, userId: Int ) { if (Flags.ignoreApexPermissions() && packageState.isApex) { if (packageState.isApex) { return } Loading Loading
core/java/android/permission/flags.aconfig +0 −11 Original line number Diff line number Diff line Loading @@ -155,14 +155,3 @@ flag { description: "Use runtime permission state to determine appop state" bug: "266164193" } flag { name: "ignore_apex_permissions" is_fixed_read_only: true namespace: "permissions" description: "Ignore APEX pacakges for permissions on V+" bug: "301320911" metadata { purpose: PURPOSE_BUGFIX } }
core/java/com/android/internal/pm/pkg/parsing/ParsingPackageUtils.java +1 −2 Original line number Diff line number Diff line Loading @@ -1054,8 +1054,7 @@ public class ParsingPackageUtils { // An Apex package shouldn't have permission declarations final boolean isApex = (flags & PARSE_APEX) != 0; if (android.permission.flags.Flags.ignoreApexPermissions() && isApex && !pkg.getPermissions().isEmpty()) { if (isApex && !pkg.getPermissions().isEmpty()) { return input.error( INSTALL_PARSE_FAILED_MANIFEST_MALFORMED, pkg.getPackageName() Loading
services/permission/java/com/android/server/permission/access/AccessPolicy.kt +4 −5 Original line number Diff line number Diff line Loading @@ -16,7 +16,6 @@ package com.android.server.permission.access import android.permission.flags.Flags import android.util.Slog import com.android.modules.utils.BinaryXmlPullParser import com.android.modules.utils.BinaryXmlSerializer Loading Loading @@ -79,7 +78,7 @@ private constructor( setPackageStates(packageStates) setDisabledSystemPackageStates(disabledSystemPackageStates) packageStates.forEach { (_, packageState) -> if (Flags.ignoreApexPermissions() && packageState.isApex) { if (packageState.isApex) { return@forEach } mutateAppIdPackageNames() Loading Loading @@ -107,7 +106,7 @@ private constructor( newState.mutateUserStatesNoWrite()[userId] = MutableUserState() forEachSchemePolicy { with(it) { onUserAdded(userId) } } newState.externalState.packageStates.forEach { (_, packageState) -> if (Flags.ignoreApexPermissions() && packageState.isApex) { if (packageState.isApex) { return@forEach } upgradePackageVersion(packageState, userId) Loading @@ -133,7 +132,7 @@ private constructor( setPackageStates(packageStates) setDisabledSystemPackageStates(disabledSystemPackageStates) packageStates.forEach { (packageName, packageState) -> if (Flags.ignoreApexPermissions() && packageState.isApex) { if (packageState.isApex) { return@forEach } if (packageState.volumeUuid == volumeUuid) { Loading Loading @@ -161,7 +160,7 @@ private constructor( with(it) { onStorageVolumeMounted(volumeUuid, packageNames, isSystemUpdated) } } packageStates.forEach { (_, packageState) -> if (Flags.ignoreApexPermissions() && packageState.isApex) { if (packageState.isApex) { return@forEach } if (packageState.volumeUuid == volumeUuid) { Loading
services/permission/java/com/android/server/permission/access/permission/AppIdPermissionPolicy.kt +1 −1 Original line number Diff line number Diff line Loading @@ -81,7 +81,7 @@ class AppIdPermissionPolicy : SchemePolicy() { override fun MutateStateScope.onUserAdded(userId: Int) { newState.externalState.packageStates.forEach { (_, packageState) -> if (Flags.ignoreApexPermissions() && packageState.isApex) { if (packageState.isApex) { return@forEach } evaluateAllPermissionStatesForPackageAndUser(packageState, userId, null) Loading
services/permission/java/com/android/server/permission/access/permission/PermissionService.kt +8 −8 Original line number Diff line number Diff line Loading @@ -1445,7 +1445,7 @@ class PermissionService(private val service: AccessCheckingService) : val packageStates = packageManagerLocal.withUnfilteredSnapshot().use { it.packageStates } service.mutateState { packageStates.forEach { (packageName, packageState) -> if (Flags.ignoreApexPermissions() && packageState.isApex) { if (packageState.isApex) { return@forEach } val androidPackage = packageState.androidPackage ?: return@forEach Loading Loading @@ -1880,7 +1880,7 @@ class PermissionService(private val service: AccessCheckingService) : packageManagerLocal.withUnfilteredSnapshot().use { snapshot -> service.mutateState { snapshot.packageStates.forEach { (_, packageState) -> if (Flags.ignoreApexPermissions() && packageState.isApex) { if (packageState.isApex) { return@forEach } with(policy) { resetRuntimePermissions(packageState.packageName, userId) } Loading Loading @@ -1925,7 +1925,7 @@ class PermissionService(private val service: AccessCheckingService) : packageManagerLocal.withUnfilteredSnapshot().use { snapshot -> snapshot.packageStates.forEach { (_, packageState) -> if (Flags.ignoreApexPermissions() && packageState.isApex) { if (packageState.isApex) { return@forEach } val androidPackage = packageState.androidPackage ?: return@forEach Loading @@ -1943,7 +1943,7 @@ class PermissionService(private val service: AccessCheckingService) : val permissions = service.getState { with(policy) { getPermissions() } } packageManagerLocal.withUnfilteredSnapshot().use { snapshot -> snapshot.packageStates.forEach packageStates@{ (_, packageState) -> if (Flags.ignoreApexPermissions() && packageState.isApex) { if (packageState.isApex) { return@packageStates } val androidPackage = packageState.androidPackage ?: return@packageStates Loading Loading @@ -2072,7 +2072,7 @@ class PermissionService(private val service: AccessCheckingService) : val appIdPackageNames = MutableIndexedMap<Int, MutableIndexedSet<String>>() packageStates.forEach { (_, packageState) -> if (Flags.ignoreApexPermissions() && packageState.isApex) { if (packageState.isApex) { return@forEach } appIdPackageNames Loading Loading @@ -2328,7 +2328,7 @@ class PermissionService(private val service: AccessCheckingService) : isInstantApp: Boolean, oldPackage: AndroidPackage? ) { if (Flags.ignoreApexPermissions() && packageState.isApex) { if (packageState.isApex) { return } Loading Loading @@ -2358,7 +2358,7 @@ class PermissionService(private val service: AccessCheckingService) : params: PermissionManagerServiceInternal.PackageInstalledParams, userId: Int ) { if (Flags.ignoreApexPermissions() && androidPackage.isApex) { if (androidPackage.isApex) { return } Loading Loading @@ -2414,7 +2414,7 @@ class PermissionService(private val service: AccessCheckingService) : sharedUserPkgs: List<AndroidPackage>, userId: Int ) { if (Flags.ignoreApexPermissions() && packageState.isApex) { if (packageState.isApex) { return } Loading