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

Commit bf9058ca authored by Manjeet Rulhania's avatar Manjeet Rulhania
Browse files

Reset virtual device permissions

Add permission reset support for `reset-permissions`
shell command.

Fix: 303700254
Test: presubmit & manual
Change-Id: Iff374ac90549ca3abe1f2bbd249b7f18b9c63437
parent 173df1cf
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -85,10 +85,10 @@ class DevicePermissionPolicy : SchemePolicy() {
        appId: Int,
        userId: Int
    ) {
        resetPermissionStates(packageName, userId)
        resetRuntimePermissions(packageName, userId)
    }

    private fun MutateStateScope.resetPermissionStates(packageName: String, userId: Int) {
    fun MutateStateScope.resetRuntimePermissions(packageName: String, userId: Int) {
        // It's okay to skip resetting permissions for packages that are removed,
        // because their states will be trimmed in onPackageRemoved()/onAppIdRemoved()
        val packageState = newState.externalState.packageStates[packageName] ?: return
+6 −0
Original line number Diff line number Diff line
@@ -1737,6 +1737,9 @@ class PermissionService(
            with(policy) {
                resetRuntimePermissions(androidPackage.packageName, userId)
            }
            with(devicePolicy) {
                resetRuntimePermissions(androidPackage.packageName, userId)
            }
        }
    }

@@ -1747,6 +1750,9 @@ class PermissionService(
                    with(policy) {
                        resetRuntimePermissions(packageState.packageName, userId)
                    }
                    with(devicePolicy) {
                        resetRuntimePermissions(packageState.packageName, userId)
                    }
                }
            }
        }