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:
@@ -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(
|
||||||
|
@@ -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, "")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -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, "")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -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
|
||||||
|
)
|
||||||
|
}
|
||||||
}
|
}
|
@@ -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, "")
|
||||||
|
}
|
||||||
}
|
}
|
Reference in New Issue
Block a user