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

Commit 0ba75cbe authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Rename AccessState appIds to appIdPackageNames."

parents 8577b30e fdb7de21
Loading
Loading
Loading
Loading
+6 −5
Original line number Diff line number Diff line
@@ -80,7 +80,8 @@ class AccessPolicy private constructor(
            setPackageStates(packageStates)
            setDisabledSystemPackageStates(disabledSystemPackageStates)
            packageStates.forEach { (_, packageState) ->
                mutateAppIds().mutateOrPut(packageState.appId) { MutableIndexedListSet() }
                mutateAppIdPackageNames()
                    .mutateOrPut(packageState.appId) { MutableIndexedListSet() }
                    .add(packageState.packageName)
            }
            setKnownPackages(knownPackages)
@@ -140,7 +141,7 @@ class AccessPolicy private constructor(
            packageStates.forEach { (packageName, packageState) ->
                if (packageState.volumeUuid == volumeUuid) {
                    val appId = packageState.appId
                    mutateAppIds().mutateOrPut(appId) {
                    mutateAppIdPackageNames().mutateOrPut(appId) {
                        addedAppIds += appId
                        MutableIndexedListSet()
                    } += packageName
@@ -181,7 +182,7 @@ class AccessPolicy private constructor(
        newState.mutateSystemState(WriteMode.NONE).apply {
            setPackageStates(packageStates)
            setDisabledSystemPackageStates(disabledSystemPackageStates)
            mutateAppIds().mutateOrPut(appId) {
            mutateAppIdPackageNames().mutateOrPut(appId) {
                isAppIdAdded = true
                MutableIndexedListSet()
            } += packageName
@@ -215,10 +216,10 @@ class AccessPolicy private constructor(
        newState.mutateSystemState(WriteMode.NONE).apply {
            setPackageStates(packageStates)
            setDisabledSystemPackageStates(disabledSystemPackageStates)
            mutateAppIds().mutate(appId)?.apply {
            mutateAppIdPackageNames().mutate(appId)?.apply {
                this -= packageName
                if (isEmpty()) {
                    mutateAppIds() -= appId
                    mutateAppIdPackageNames() -= appId
                    isAppIdRemoved = true
                }
            }
+12 −11
Original line number Diff line number Diff line
@@ -73,10 +73,11 @@ class MutableAccessState private constructor(

private typealias UserIdsReference = MutableReference<IntSet, MutableIntSet>

typealias AppIds = IntReferenceMap<IndexedListSet<String>, MutableIndexedListSet<String>>
typealias MutableAppIds =
typealias AppIdPackageNames = IntReferenceMap<IndexedListSet<String>, MutableIndexedListSet<String>>
typealias MutableAppIdPackageNames =
    MutableIntReferenceMap<IndexedListSet<String>, MutableIndexedListSet<String>>
private typealias AppIdsReference = MutableReference<AppIds, MutableAppIds>
private typealias AppIdPackageNamesReference =
    MutableReference<AppIdPackageNames, MutableAppIdPackageNames>

private typealias PermissionGroupsReference = MutableReference<
    IndexedMap<String, PermissionGroupInfo>, MutableIndexedMap<String, PermissionGroupInfo>
@@ -92,7 +93,7 @@ sealed class SystemState(
    val userIdsReference: UserIdsReference,
    packageStates: Map<String, PackageState>,
    disabledSystemPackageStates: Map<String, PackageState>,
    val appIdsReference: AppIdsReference,
    val appIdPackageNamesReference: AppIdPackageNamesReference,
    knownPackages: IntMap<Array<String>>,
    isLeanback: Boolean,
    configPermissions: Map<String, SystemConfig.PermissionEntry>,
@@ -116,8 +117,8 @@ sealed class SystemState(
    var disabledSystemPackageStates: Map<String, PackageState> = disabledSystemPackageStates
        protected set

    val appIds: AppIds
        get() = appIdsReference.get()
    val appIdPackageNames: AppIdPackageNames
        get() = appIdPackageNamesReference.get()

    var knownPackages: IntMap<Array<String>> = knownPackages
        protected set
@@ -164,7 +165,7 @@ class MutableSystemState private constructor(
    userIdsReference: UserIdsReference,
    packageStates: Map<String, PackageState>,
    disabledSystemPackageStates: Map<String, PackageState>,
    appIdsReference: AppIdsReference,
    appIdPackageNamesReference: AppIdPackageNamesReference,
    knownPackages: IntMap<Array<String>>,
    isLeanback: Boolean,
    configPermissions: Map<String, SystemConfig.PermissionEntry>,
@@ -181,7 +182,7 @@ class MutableSystemState private constructor(
    userIdsReference,
    packageStates,
    disabledSystemPackageStates,
    appIdsReference,
    appIdPackageNamesReference,
    knownPackages,
    isLeanback,
    configPermissions,
@@ -199,7 +200,7 @@ class MutableSystemState private constructor(
        UserIdsReference(MutableIntSet()),
        emptyMap(),
        emptyMap(),
        AppIdsReference(MutableAppIds()),
        AppIdPackageNamesReference(MutableAppIdPackageNames()),
        MutableIntMap(),
        false,
        emptyMap(),
@@ -218,7 +219,7 @@ class MutableSystemState private constructor(
        systemState.userIdsReference.toImmutable(),
        systemState.packageStates,
        systemState.disabledSystemPackageStates,
        systemState.appIdsReference.toImmutable(),
        systemState.appIdPackageNamesReference.toImmutable(),
        systemState.knownPackages,
        systemState.isLeanback,
        systemState.configPermissions,
@@ -245,7 +246,7 @@ class MutableSystemState private constructor(
        this.disabledSystemPackageStates = disabledSystemPackageStates
    }

    fun mutateAppIds(): MutableAppIds = appIdsReference.mutate()
    fun mutateAppIdPackageNames(): MutableAppIdPackageNames = appIdPackageNamesReference.mutate()

    @JvmName("setKnownPackagesPublic")
    fun setKnownPackages(knownPackages: IntMap<Array<String>>) {
+1 −2
Original line number Diff line number Diff line
@@ -21,7 +21,6 @@ import android.util.Log
import com.android.server.LocalServices
import com.android.server.appop.AppOpMigrationHelper
import com.android.server.permission.access.MutableAccessState
import com.android.server.permission.access.collection.* // ktlint-disable no-wildcard-imports
import com.android.server.permission.access.immutable.* // ktlint-disable no-wildcard-imports
import com.android.server.permission.access.util.PackageVersionMigration

@@ -34,7 +33,7 @@ class AppIdAppOpMigration {
        val userState = state.mutateUserState(userId)!!
        val appIdAppOpModes = userState.mutateAppIdAppOpModes()
        legacyAppIdAppOpModes.forEach { (appId, legacyAppOpModes) ->
            val packageNames = state.systemState.appIds[appId]
            val packageNames = state.systemState.appIdPackageNames[appId]
            // Non-application UIDs may not have an Android package but may still have app op state.
            if (packageNames == null && appId >= Process.FIRST_APPLICATION_UID) {
                Log.w(LOG_TAG, "Dropping unknown app ID $appId when migrating app op state")
+2 −2
Original line number Diff line number Diff line
@@ -25,7 +25,6 @@ import com.android.server.permission.access.AppIdAppOpModes
import com.android.server.permission.access.MutableAccessState
import com.android.server.permission.access.MutableAppIdAppOpModes
import com.android.server.permission.access.WriteMode
import com.android.server.permission.access.collection.* // ktlint-disable no-wildcard-imports
import com.android.server.permission.access.immutable.* // ktlint-disable no-wildcard-imports
import com.android.server.permission.access.util.attributeInt
import com.android.server.permission.access.util.forEachTag
@@ -52,7 +51,8 @@ class AppIdAppOpPersistence : BaseAppOpPersistence() {
        }
        userState.appIdAppOpModes.forEachReversedIndexed { appIdIndex, appId, _ ->
            // Non-application UIDs may not have an Android package but may still have app op state.
            if (appId !in state.systemState.appIds && appId >= Process.FIRST_APPLICATION_UID) {
            if (appId !in state.systemState.appIdPackageNames &&
                appId >= Process.FIRST_APPLICATION_UID) {
                Log.w(LOG_TAG, "Dropping unknown app ID $appId when parsing app-op state")
                appIdAppOpModes.removeAt(appIdIndex)
                userState.requestWriteMode(WriteMode.ASYNCHRONOUS)
+1 −2
Original line number Diff line number Diff line
@@ -19,7 +19,6 @@ package com.android.server.permission.access.permission
import android.util.Log
import com.android.server.LocalServices
import com.android.server.permission.access.MutableAccessState
import com.android.server.permission.access.collection.* // ktlint-disable no-wildcard-imports
import com.android.server.permission.access.immutable.* // ktlint-disable no-wildcard-imports
import com.android.server.permission.access.util.PackageVersionMigration
import com.android.server.pm.permission.PermissionMigrationHelper
@@ -66,7 +65,7 @@ class AppIdPermissionMigration {
        val userState = state.mutateUserState(userId)!!
        val appIdPermissionFlags = userState.mutateAppIdPermissionFlags()
        legacyAppIdPermissionStates.forEach { (appId, legacyPermissionStates) ->
            val packageNames = state.systemState.appIds[appId]
            val packageNames = state.systemState.appIdPackageNames[appId]
            if (packageNames == null) {
                Log.w(LOG_TAG, "Dropping unknown app ID $appId when migrating permission state")
                return@forEach
Loading