Log app special permission change for SPA

Align with current logging and no package name.

Bug: 280575002
Test: Manually with App Op Permission pages
Change-Id: Ia0dde06769b1e08f8cec7cb1d87a8ca1baa80068
This commit is contained in:
Chaohui Wang
2023-05-03 20:43:59 +08:00
parent 678b1d5fa4
commit c16a088a73
5 changed files with 79 additions and 0 deletions

View File

@@ -19,12 +19,14 @@ package com.android.settings.spa.app.specialaccess
import android.Manifest import android.Manifest
import android.app.AlarmManager import android.app.AlarmManager
import android.app.compat.CompatChanges import android.app.compat.CompatChanges
import android.app.settings.SettingsEnums
import android.content.Context import android.content.Context
import android.content.pm.ApplicationInfo import android.content.pm.ApplicationInfo
import android.os.PowerExemptionManager import android.os.PowerExemptionManager
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
import androidx.compose.runtime.livedata.observeAsState import androidx.compose.runtime.livedata.observeAsState
import com.android.settings.R import com.android.settings.R
import com.android.settings.overlay.FeatureFactory
import com.android.settingslib.spa.framework.compose.stateOf import com.android.settingslib.spa.framework.compose.stateOf
import com.android.settingslib.spaprivileged.model.app.AppRecord import com.android.settingslib.spaprivileged.model.app.AppRecord
import com.android.settingslib.spaprivileged.model.app.IPackageManagers import com.android.settingslib.spaprivileged.model.app.IPackageManagers
@@ -85,6 +87,17 @@ class AlarmsAndRemindersAppListModel(
override fun setAllowed(record: AlarmsAndRemindersAppRecord, newAllowed: Boolean) { override fun setAllowed(record: AlarmsAndRemindersAppRecord, newAllowed: Boolean) {
record.controller.setAllowed(newAllowed) record.controller.setAllowed(newAllowed)
logPermissionChange(newAllowed)
}
private fun logPermissionChange(newAllowed: Boolean) {
FeatureFactory.getFactory(context).metricsFeatureProvider.action(
SettingsEnums.PAGE_UNKNOWN,
SettingsEnums.ACTION_ALARMS_AND_REMINDERS_TOGGLE,
SettingsEnums.ALARMS_AND_REMINDERS,
"",
if (newAllowed) 1 else 0
)
} }
private fun createRecord( private fun createRecord(

View File

@@ -18,9 +18,12 @@ package com.android.settings.spa.app.specialaccess
import android.Manifest import android.Manifest
import android.app.AppOpsManager import android.app.AppOpsManager
import android.app.settings.SettingsEnums
import android.content.Context import android.content.Context
import com.android.settings.R import com.android.settings.R
import com.android.settings.overlay.FeatureFactory
import com.android.settingslib.spaprivileged.template.app.AppOpPermissionListModel import com.android.settingslib.spaprivileged.template.app.AppOpPermissionListModel
import com.android.settingslib.spaprivileged.template.app.AppOpPermissionRecord
import com.android.settingslib.spaprivileged.template.app.TogglePermissionAppListProvider import com.android.settingslib.spaprivileged.template.app.TogglePermissionAppListProvider
object AllFilesAccessAppListProvider : TogglePermissionAppListProvider { object AllFilesAccessAppListProvider : TogglePermissionAppListProvider {
@@ -35,4 +38,17 @@ class AllFilesAccessListModel(context: Context) : AppOpPermissionListModel(conte
override val appOp = AppOpsManager.OP_MANAGE_EXTERNAL_STORAGE override val appOp = AppOpsManager.OP_MANAGE_EXTERNAL_STORAGE
override val permission = Manifest.permission.MANAGE_EXTERNAL_STORAGE override val permission = Manifest.permission.MANAGE_EXTERNAL_STORAGE
override val setModeByUid = true override val setModeByUid = true
override fun setAllowed(record: AppOpPermissionRecord, newAllowed: Boolean) {
super.setAllowed(record, newAllowed)
logPermissionChange(newAllowed)
}
private fun logPermissionChange(newAllowed: Boolean) {
val category = when {
newAllowed -> SettingsEnums.APP_SPECIAL_PERMISSION_MANAGE_EXT_STRG_ALLOW
else -> SettingsEnums.APP_SPECIAL_PERMISSION_MANAGE_EXT_STRG_DENY
}
FeatureFactory.getFactory(context).metricsFeatureProvider.action(context, category, "")
}
} }

View File

@@ -18,9 +18,12 @@ package com.android.settings.spa.app.specialaccess
import android.Manifest import android.Manifest
import android.app.AppOpsManager import android.app.AppOpsManager
import android.app.settings.SettingsEnums
import android.content.Context import android.content.Context
import com.android.settings.R import com.android.settings.R
import com.android.settings.overlay.FeatureFactory
import com.android.settingslib.spaprivileged.template.app.AppOpPermissionListModel import com.android.settingslib.spaprivileged.template.app.AppOpPermissionListModel
import com.android.settingslib.spaprivileged.template.app.AppOpPermissionRecord
import com.android.settingslib.spaprivileged.template.app.TogglePermissionAppListProvider import com.android.settingslib.spaprivileged.template.app.TogglePermissionAppListProvider
object DisplayOverOtherAppsAppListProvider : TogglePermissionAppListProvider { object DisplayOverOtherAppsAppListProvider : TogglePermissionAppListProvider {
@@ -34,4 +37,17 @@ class DisplayOverOtherAppsListModel(context: Context) : AppOpPermissionListModel
override val footerResId = R.string.allow_overlay_description override val footerResId = R.string.allow_overlay_description
override val appOp = AppOpsManager.OP_SYSTEM_ALERT_WINDOW override val appOp = AppOpsManager.OP_SYSTEM_ALERT_WINDOW
override val permission = Manifest.permission.SYSTEM_ALERT_WINDOW override val permission = Manifest.permission.SYSTEM_ALERT_WINDOW
override fun setAllowed(record: AppOpPermissionRecord, newAllowed: Boolean) {
super.setAllowed(record, newAllowed)
logPermissionChange(newAllowed)
}
private fun logPermissionChange(newAllowed: Boolean) {
val category = when {
newAllowed -> SettingsEnums.APP_SPECIAL_PERMISSION_APPDRAW_ALLOW
else -> SettingsEnums.APP_SPECIAL_PERMISSION_APPDRAW_DENY
}
FeatureFactory.getFactory(context).metricsFeatureProvider.action(context, category, "")
}
} }

View File

@@ -18,9 +18,12 @@ package com.android.settings.spa.app.specialaccess
import android.Manifest import android.Manifest
import android.app.AppOpsManager import android.app.AppOpsManager
import android.app.settings.SettingsEnums
import android.content.Context import android.content.Context
import com.android.settings.R import com.android.settings.R
import com.android.settings.overlay.FeatureFactory
import com.android.settingslib.spaprivileged.template.app.AppOpPermissionListModel import com.android.settingslib.spaprivileged.template.app.AppOpPermissionListModel
import com.android.settingslib.spaprivileged.template.app.AppOpPermissionRecord
import com.android.settingslib.spaprivileged.template.app.TogglePermissionAppListProvider import com.android.settingslib.spaprivileged.template.app.TogglePermissionAppListProvider
object MediaManagementAppsAppListProvider : TogglePermissionAppListProvider { object MediaManagementAppsAppListProvider : TogglePermissionAppListProvider {
@@ -35,4 +38,19 @@ class MediaManagementAppsListModel(context: Context) : AppOpPermissionListModel(
override val appOp = AppOpsManager.OP_MANAGE_MEDIA override val appOp = AppOpsManager.OP_MANAGE_MEDIA
override val permission = Manifest.permission.MANAGE_MEDIA override val permission = Manifest.permission.MANAGE_MEDIA
override val setModeByUid = true override val setModeByUid = true
override fun setAllowed(record: AppOpPermissionRecord, newAllowed: Boolean) {
super.setAllowed(record, newAllowed)
logPermissionChange(newAllowed)
}
private fun logPermissionChange(newAllowed: Boolean) {
FeatureFactory.getFactory(context).metricsFeatureProvider.action(
SettingsEnums.PAGE_UNKNOWN,
SettingsEnums.ACTION_MEDIA_MANAGEMENT_APPS_TOGGLE,
SettingsEnums.MEDIA_MANAGEMENT_APPS,
"",
if (newAllowed) 1 else 0
)
}
} }

View File

@@ -18,9 +18,12 @@ package com.android.settings.spa.app.specialaccess
import android.Manifest import android.Manifest
import android.app.AppOpsManager import android.app.AppOpsManager
import android.app.settings.SettingsEnums
import android.content.Context import android.content.Context
import com.android.settings.R import com.android.settings.R
import com.android.settings.overlay.FeatureFactory
import com.android.settingslib.spaprivileged.template.app.AppOpPermissionListModel import com.android.settingslib.spaprivileged.template.app.AppOpPermissionListModel
import com.android.settingslib.spaprivileged.template.app.AppOpPermissionRecord
import com.android.settingslib.spaprivileged.template.app.TogglePermissionAppListProvider import com.android.settingslib.spaprivileged.template.app.TogglePermissionAppListProvider
object ModifySystemSettingsAppListProvider : TogglePermissionAppListProvider { object ModifySystemSettingsAppListProvider : TogglePermissionAppListProvider {
@@ -34,4 +37,17 @@ class ModifySystemSettingsListModel(context: Context) : AppOpPermissionListModel
override val footerResId = R.string.write_settings_description override val footerResId = R.string.write_settings_description
override val appOp = AppOpsManager.OP_WRITE_SETTINGS override val appOp = AppOpsManager.OP_WRITE_SETTINGS
override val permission = Manifest.permission.WRITE_SETTINGS override val permission = Manifest.permission.WRITE_SETTINGS
override fun setAllowed(record: AppOpPermissionRecord, newAllowed: Boolean) {
super.setAllowed(record, newAllowed)
logPermissionChange(newAllowed)
}
private fun logPermissionChange(newAllowed: Boolean) {
val category = when {
newAllowed -> SettingsEnums.APP_SPECIAL_PERMISSION_SETTINGS_CHANGE_ALLOW
else -> SettingsEnums.APP_SPECIAL_PERMISSION_SETTINGS_CHANGE_DENY
}
FeatureFactory.getFactory(context).metricsFeatureProvider.action(context, category, "")
}
} }