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

Commit 3980bbe1 authored by Chaohui Wang's avatar Chaohui Wang Committed by Android (Google) Code Review
Browse files

Merge "Set default value for AppOpsController modeForNotAllowed"

parents afdcc802 df8c3b29
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -17,6 +17,7 @@
package com.android.settingslib.spaprivileged.model.app

import android.app.AppOpsManager.MODE_ALLOWED
import android.app.AppOpsManager.MODE_ERRORED
import android.app.AppOpsManager.Mode
import android.content.Context
import android.content.pm.ApplicationInfo
@@ -39,7 +40,7 @@ class AppOpsController(
    context: Context,
    private val app: ApplicationInfo,
    private val op: Int,
    private val modeForNotAllowed: Int,
    private val modeForNotAllowed: Int = MODE_ERRORED,
    private val setModeByUid: Boolean = false,
) : IAppOpsController {
    private val appOpsManager = context.appOpsManager
+2 −2
Original line number Diff line number Diff line
@@ -66,7 +66,7 @@ abstract class AppOpPermissionListModel(
     * If true, it uses getAppOpPermissionPackages() to fetch bits to decide whether the permission
     * is requested.
     */
    open val permissionHasAppopFlag: Boolean = true
    open val permissionHasAppOpFlag: Boolean = true

    open val modeForNotAllowed: Int = MODE_ERRORED

@@ -105,7 +105,7 @@ abstract class AppOpPermissionListModel(
        }

    override fun transform(userIdFlow: Flow<Int>, appListFlow: Flow<List<ApplicationInfo>>) =
        if (permissionHasAppopFlag) {
        if (permissionHasAppOpFlag) {
            userIdFlow
                .map { userId -> packageManagers.getAppOpPermissionPackages(userId, permission) }
                .combine(appListFlow) { packageNames, appList ->
+18 −7
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@ package com.android.settingslib.spaprivileged.model.app
import android.app.AppOpsManager
import android.app.AppOpsManager.MODE_ALLOWED
import android.app.AppOpsManager.MODE_ERRORED
import android.app.AppOpsManager.MODE_IGNORED
import android.content.Context
import android.content.pm.ApplicationInfo
import androidx.test.core.app.ApplicationProvider
@@ -56,7 +57,6 @@ class AppOpsControllerTest {
                context = context,
                app = APP,
                op = OP,
                modeForNotAllowed = MODE_ERRORED
            )

        controller.setAllowed(true)
@@ -71,7 +71,6 @@ class AppOpsControllerTest {
                context = context,
                app = APP,
                op = OP,
                modeForNotAllowed = MODE_ERRORED
            )

        controller.setAllowed(false)
@@ -79,6 +78,21 @@ class AppOpsControllerTest {
        verify(appOpsManager).setMode(OP, APP.uid, APP.packageName, MODE_ERRORED)
    }

    @Test
    fun setAllowed_setToFalseWithModeForNotAllowed() {
        val controller =
            AppOpsController(
                context = context,
                app = APP,
                op = OP,
                modeForNotAllowed = MODE_IGNORED,
            )

        controller.setAllowed(false)

        verify(appOpsManager).setMode(OP, APP.uid, APP.packageName, MODE_IGNORED)
    }

    @Test
    fun setAllowed_setToTrueByUid() {
        val controller =
@@ -86,8 +100,7 @@ class AppOpsControllerTest {
                context = context,
                app = APP,
                op = OP,
                modeForNotAllowed = MODE_ERRORED,
                setModeByUid = true
                setModeByUid = true,
            )

        controller.setAllowed(true)
@@ -102,8 +115,7 @@ class AppOpsControllerTest {
                context = context,
                app = APP,
                op = OP,
                modeForNotAllowed = MODE_ERRORED,
                setModeByUid = true
                setModeByUid = true,
            )

        controller.setAllowed(false)
@@ -120,7 +132,6 @@ class AppOpsControllerTest {
                context = context,
                app = APP,
                op = OP,
                modeForNotAllowed = MODE_ERRORED
            )

        val mode = controller.getMode()
+0 −1
Original line number Diff line number Diff line
@@ -314,7 +314,6 @@ class AppOpPermissionAppListTest {

        override val appOp = AppOpsManager.OP_MANAGE_MEDIA
        override val permission = PERMISSION
        override val permissionHasAppopFlag = true
        override var broaderPermission: String? = null

        override var setModeByUid = false