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

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

Merge "Reapply "Migrate AppOps"" into main

parents 35d91e98 fb48926f
Loading
Loading
Loading
Loading
+7 −2
Original line number Diff line number Diff line
@@ -28,6 +28,7 @@ import androidx.compose.runtime.Composable
import com.android.settings.overlay.FeatureFactory.Companion.featureFactory
import com.android.settingslib.R
import com.android.settingslib.spa.lifecycle.collectAsCallbackWithLifecycle
import com.android.settingslib.spaprivileged.model.app.AppOps
import com.android.settingslib.spaprivileged.model.app.AppOpsController
import com.android.settingslib.spaprivileged.model.app.AppRecord
import com.android.settingslib.spaprivileged.model.app.IPackageManagers
@@ -116,8 +117,7 @@ class AlarmsAndRemindersAppListModel(
            controller = AppOpsController(
                context = context,
                app = app,
                op = AppOpsManager.OP_SCHEDULE_EXACT_ALARM,
                setModeByUid = true,
                appOps = APP_OPS,
            ),
        )
    }
@@ -136,6 +136,11 @@ class AlarmsAndRemindersAppListModel(
    }

    companion object {
        private val APP_OPS = AppOps(
            op = AppOpsManager.OP_SCHEDULE_EXACT_ALARM,
            setModeByUid = true,
        )

        private const val PERMISSION: String = Manifest.permission.SCHEDULE_EXACT_ALARM

        /** Checks whether [Manifest.permission.SCHEDULE_EXACT_ALARM] is enabled. */
+5 −2
Original line number Diff line number Diff line
@@ -22,6 +22,7 @@ import android.app.settings.SettingsEnums
import android.content.Context
import com.android.settings.R
import com.android.settings.overlay.FeatureFactory.Companion.featureFactory
import com.android.settingslib.spaprivileged.model.app.AppOps
import com.android.settingslib.spaprivileged.template.app.AppOpPermissionListModel
import com.android.settingslib.spaprivileged.template.app.AppOpPermissionRecord
import com.android.settingslib.spaprivileged.template.app.TogglePermissionAppListProvider
@@ -35,9 +36,11 @@ class AllFilesAccessListModel(context: Context) : AppOpPermissionListModel(conte
    override val pageTitleResId = R.string.manage_external_storage_title
    override val switchTitleResId = R.string.permit_manage_external_storage
    override val footerResId = R.string.allow_manage_external_storage_description
    override val appOp = AppOpsManager.OP_MANAGE_EXTERNAL_STORAGE
    override val appOps = AppOps(
        op = AppOpsManager.OP_MANAGE_EXTERNAL_STORAGE,
        setModeByUid = true,
    )
    override val permission = Manifest.permission.MANAGE_EXTERNAL_STORAGE
    override val setModeByUid = true

    override fun setAllowed(record: AppOpPermissionRecord, newAllowed: Boolean) {
        super.setAllowed(record, newAllowed)
+2 −1
Original line number Diff line number Diff line
@@ -22,6 +22,7 @@ import android.app.settings.SettingsEnums
import android.content.Context
import com.android.settings.R
import com.android.settings.overlay.FeatureFactory.Companion.featureFactory
import com.android.settingslib.spaprivileged.model.app.AppOps
import com.android.settingslib.spaprivileged.template.app.AppOpPermissionListModel
import com.android.settingslib.spaprivileged.template.app.AppOpPermissionRecord
import com.android.settingslib.spaprivileged.template.app.TogglePermissionAppListProvider
@@ -35,7 +36,7 @@ class DisplayOverOtherAppsListModel(context: Context) : AppOpPermissionListModel
    override val pageTitleResId = R.string.system_alert_window_settings
    override val switchTitleResId = R.string.permit_draw_overlay
    override val footerResId = R.string.allow_overlay_description
    override val appOp = AppOpsManager.OP_SYSTEM_ALERT_WINDOW
    override val appOps = AppOps(AppOpsManager.OP_SYSTEM_ALERT_WINDOW)
    override val permission = Manifest.permission.SYSTEM_ALERT_WINDOW

    override fun setAllowed(record: AppOpPermissionRecord, newAllowed: Boolean) {
+4 −7
Original line number Diff line number Diff line
@@ -20,7 +20,6 @@ import android.Manifest
import android.app.AppGlobals
import android.app.AppOpsManager
import android.app.AppOpsManager.MODE_DEFAULT
import android.app.AppOpsManager.OP_REQUEST_INSTALL_PACKAGES
import android.content.Context
import android.content.pm.ApplicationInfo
import android.os.Process
@@ -28,6 +27,7 @@ import android.os.UserManager
import androidx.compose.runtime.Composable
import com.android.settings.R
import com.android.settingslib.spa.lifecycle.collectAsCallbackWithLifecycle
import com.android.settingslib.spaprivileged.model.app.AppOps
import com.android.settingslib.spaprivileged.model.app.AppOpsController
import com.android.settingslib.spaprivileged.model.app.AppRecord
import com.android.settingslib.spaprivileged.model.app.userId
@@ -62,12 +62,7 @@ class InstallUnknownAppsListModel(private val context: Context) :
    override fun transformItem(app: ApplicationInfo) =
        InstallUnknownAppsRecord(
            app = app,
            appOpsController =
                AppOpsController(
                    context = context,
                    app = app,
                    op = OP_REQUEST_INSTALL_PACKAGES,
                ),
            appOpsController = AppOpsController(context = context, app = app, appOps = APP_OPS),
        )

    override fun filter(
@@ -92,6 +87,8 @@ class InstallUnknownAppsListModel(private val context: Context) :
    }

    companion object {
        private val APP_OPS = AppOps(AppOpsManager.OP_REQUEST_INSTALL_PACKAGES)

        private fun isChangeable(
            record: InstallUnknownAppsRecord,
            potentialPackageNames: Set<String>,
+5 −2
Original line number Diff line number Diff line
@@ -22,6 +22,7 @@ import android.app.settings.SettingsEnums
import android.content.Context
import com.android.settings.R
import com.android.settings.overlay.FeatureFactory.Companion.featureFactory
import com.android.settingslib.spaprivileged.model.app.AppOps
import com.android.settingslib.spaprivileged.template.app.AppOpPermissionListModel
import com.android.settingslib.spaprivileged.template.app.AppOpPermissionRecord
import com.android.settingslib.spaprivileged.template.app.TogglePermissionAppListProvider
@@ -35,9 +36,11 @@ class LongBackgroundTasksAppsListModel(context: Context) : AppOpPermissionListMo
    override val pageTitleResId = R.string.long_background_tasks_title
    override val switchTitleResId = R.string.long_background_tasks_switch_title
    override val footerResId = R.string.long_background_tasks_footer_title
    override val appOp = AppOpsManager.OP_RUN_USER_INITIATED_JOBS
    override val appOps = AppOps(
        op = AppOpsManager.OP_RUN_USER_INITIATED_JOBS,
        setModeByUid = true,
    )
    override val permission = Manifest.permission.RUN_USER_INITIATED_JOBS
    override val setModeByUid = true

    override fun setAllowed(record: AppOpPermissionRecord, newAllowed: Boolean) {
        super.setAllowed(record, newAllowed)
Loading