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

Commit 6e564e42 authored by Hai Zhang's avatar Hai Zhang
Browse files

Clean up TODOs in the new subsystem.

Note that the TODOs about turning exceptions into logs no longer apply
because we are not in Mainline and can be more aggressive for
correctness.

This leaves us with 2 STOPSHIP TODOs.

Bug: 263504888
Test: presubmit
Change-Id: I20c3a24d14d475d33aa85a478b7a80a128f739cb
parent e0723845
Loading
Loading
Loading
Loading
+0 −3
Original line number Diff line number Diff line
@@ -173,7 +173,6 @@ class AccessPolicy private constructor(
        packageName: String
    ) {
        val packageState = packageStates[packageName]
        // TODO(zhanghai): STOPSHIP: Remove check before feature enable.
        checkNotNull(packageState) {
            "Added package $packageName isn't found in packageStates in onPackageAdded()"
        }
@@ -208,7 +207,6 @@ class AccessPolicy private constructor(
        packageName: String,
        appId: Int
    ) {
        // TODO(zhanghai): STOPSHIP: Remove check before feature enable.
        check(packageName !in packageStates) {
            "Removed package $packageName is still in packageStates in onPackageRemoved()"
        }
@@ -253,7 +251,6 @@ class AccessPolicy private constructor(
            setKnownPackages(knownPackages)
        }
        val packageState = packageStates[packageName]
        // TODO(zhanghai): STOPSHIP: Remove check before feature enable.
        checkNotNull(packageState) {
            "Installed package $packageName isn't found in packageStates in onPackageInstalled()"
        }
+1 −1
Original line number Diff line number Diff line
@@ -101,7 +101,7 @@ sealed class SystemState(
    permissionAllowlist: PermissionAllowlist,
    implicitToSourcePermissions: IndexedMap<String, IndexedListSet<String>>,
    isSystemReady: Boolean,
    // TODO: Get and watch the state for deviceAndProfileOwners
    // TODO: STOPSHIP: Get and watch the state for deviceAndProfileOwners
    deviceAndProfileOwners: IntMap<String>,
    val permissionGroupsReference: PermissionGroupsReference,
    val permissionTreesReference: PermissionTreesReference,
+4 −4
Original line number Diff line number Diff line
@@ -61,20 +61,20 @@ class AppOpService(

    @VisibleForTesting
    override fun writeState() {
        // TODO Not yet implemented
        // Not implemented because writes are handled automatically.
    }

    override fun readState() {
        // TODO Not yet implemented
        // Not implemented because reads are handled automatically.
    }

    @VisibleForTesting
    override fun shutdown() {
        // TODO Not yet implemented
        // Not implemented because writes are handled automatically.
    }

    override fun systemReady() {
        // TODO Not yet implemented
        // Not implemented because upgrades are handled automatically.
    }

    override fun getNonDefaultUidModes(uid: Int): SparseIntArray {
+1 −12
Original line number Diff line number Diff line
@@ -182,7 +182,6 @@ class AppIdPermissionPolicy : SchemePolicy() {
        adoptPermissions(packageState, changedPermissionNames)
        addPermissionGroups(packageState)
        addPermissions(packageState, changedPermissionNames)
        // TODO: revokeSystemAlertWindowIfUpgradedPast23()
        trimPermissions(packageState.packageName, changedPermissionNames)
        trimPermissionStates(packageState.appId)
        revokePermissionsOnPackageUpdate(packageState.appId)
@@ -196,7 +195,6 @@ class AppIdPermissionPolicy : SchemePolicy() {
    }

    override fun MutateStateScope.onPackageRemoved(packageName: String, appId: Int) {
        // TODO: STOPSHIP: Remove this check or at least turn into logging.
        check(packageName !in newState.systemState.disabledSystemPackageStates) {
            "Package $packageName reported as removed before disabled system package is enabled"
        }
@@ -330,7 +328,7 @@ class AppIdPermissionPolicy : SchemePolicy() {
            val newPermissionGroup = PackageInfoUtils.generatePermissionGroupInfo(
                parsedPermissionGroup, PackageManager.GET_META_DATA.toLong()
            )!!
            // TODO: Clear permission state on group take-over?
            // TODO: STOPSHIP: Clear permission state on group take-over?
            val permissionGroupName = newPermissionGroup.name
            val oldPermissionGroup = newState.systemState.permissionGroups[permissionGroupName]
            if (oldPermissionGroup != null &&
@@ -373,18 +371,9 @@ class AppIdPermissionPolicy : SchemePolicy() {
        changedPermissionNames: MutableIndexedSet<String>
    ) {
        packageState.androidPackage!!.permissions.forEachIndexed { _, parsedPermission ->
            // TODO:
            // parsedPermission.flags = parsedPermission.flags andInv PermissionInfo.FLAG_INSTALLED
            // TODO: This seems actually unused.
            // if (packageState.androidPackage.targetSdkVersion > Build.VERSION_CODES.LOLLIPOP_MR1) {
            //    parsedPermission.setParsedPermissionGroup(
            //        newState.systemState.permissionGroup[parsedPermission.group]
            //    )
            // }
            val newPermissionInfo = PackageInfoUtils.generatePermissionInfo(
                parsedPermission, PackageManager.GET_META_DATA.toLong()
            )!!
            // TODO: newPermissionInfo.flags |= PermissionInfo.FLAG_INSTALLED
            val permissionName = newPermissionInfo.name
            val oldPermission = if (parsedPermission.isTree) {
                newState.systemState.permissionTrees[permissionName]