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

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

Rename AccessState appIds to appIdPackageNames.

To reduce confusion.

Bug: 182523293
Test: build
Change-Id: I66436e648c3e6060346fcb717abd105a07563529
parent a8b3e27e
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