summaryrefslogtreecommitdiff
path: root/PermissionController/src/com/android/permissioncontroller/permission/ui/model/AppPermissionViewModel.kt
diff options
context:
space:
mode:
authorJay Thomas Sullivan <jaysullivan@google.com>2022-10-24 13:24:29 -0700
committerJay Sullivan <jaysullivan@google.com>2022-10-28 19:55:37 +0000
commitc71554988c611c449631be18cb3853f36e7e0da9 (patch)
tree36311e179e7a1d952823fea6fae169253ec070be /PermissionController/src/com/android/permissioncontroller/permission/ui/model/AppPermissionViewModel.kt
parent88c905bdc5b3bdf75d519d45230fb6e0020f430f (diff)
downloadPermission-c71554988c611c449631be18cb3853f36e7e0da9.tar.gz
Load storage/media perm group icons from fb
All permission groups have icons, which are usually stored in frameworks/base as resources. In Android T, we created a few new UI flows which show the icons for the STORAGE, READ_MEDIA_VISUAL, and READ_MEDIA_AURAL permission groups in alert/grant dialogs. But, rather than loading the icons from frameworks/base, we copied them into PermissionController and used them there. Now, we've realized this is undesirable for OEMs, because (1) we failed to make them overlayable, and (2) it's confusing to OEMS that we have two copies of the icons. This change ensure all of these icons are loaded from frameworks/base. Bug: 254673246 Test: atest MediaPermissionTest; manually verify icons shown on screen Change-Id: Ief8b3bb016dab302a8bc8f29844ec75ae9b9995e
Diffstat (limited to 'PermissionController/src/com/android/permissioncontroller/permission/ui/model/AppPermissionViewModel.kt')
-rw-r--r--PermissionController/src/com/android/permissioncontroller/permission/ui/model/AppPermissionViewModel.kt33
1 files changed, 25 insertions, 8 deletions
diff --git a/PermissionController/src/com/android/permissioncontroller/permission/ui/model/AppPermissionViewModel.kt b/PermissionController/src/com/android/permissioncontroller/permission/ui/model/AppPermissionViewModel.kt
index ddf0ca6eb..98bb5d80c 100644
--- a/PermissionController/src/com/android/permissioncontroller/permission/ui/model/AppPermissionViewModel.kt
+++ b/PermissionController/src/com/android/permissioncontroller/permission/ui/model/AppPermissionViewModel.kt
@@ -711,6 +711,23 @@ class AppPermissionViewModel(
}
}
+ private fun getPermGroupIcon(permGroup: String) =
+ Utils.getGroupInfo(permGroup, app.applicationContext)?.icon ?: R.drawable.ic_empty_icon
+
+ private val storagePermGroupIcon = getPermGroupIcon(Manifest.permission_group.STORAGE)
+
+ private val auralPermGroupIcon = if (SdkLevel.isAtLeastT()) {
+ getPermGroupIcon(Manifest.permission_group.READ_MEDIA_AURAL)
+ } else {
+ R.drawable.ic_empty_icon
+ }
+
+ private val visualPermGroupIcon = if (SdkLevel.isAtLeastT()) {
+ getPermGroupIcon(Manifest.permission_group.READ_MEDIA_VISUAL)
+ } else {
+ R.drawable.ic_empty_icon
+ }
+
@RequiresApi(Build.VERSION_CODES.TIRAMISU)
private fun showMediaConfirmDialog(
setOneTime: Boolean,
@@ -729,42 +746,42 @@ class AppPermissionViewModel(
val (iconId, titleId, messageId) = when {
targetSdk < Build.VERSION_CODES.Q && aural && allow ->
Triple(
- R.drawable.perm_group_storage,
+ storagePermGroupIcon,
R.string.media_confirm_dialog_title_a_to_p_aural_allow,
R.string.media_confirm_dialog_message_a_to_p_aural_allow)
targetSdk < Build.VERSION_CODES.Q && aural && deny ->
Triple(
- R.drawable.perm_group_storage,
+ storagePermGroupIcon,
R.string.media_confirm_dialog_title_a_to_p_aural_deny,
R.string.media_confirm_dialog_message_a_to_p_aural_deny)
targetSdk < Build.VERSION_CODES.Q && visual && allow ->
Triple(
- R.drawable.perm_group_storage,
+ storagePermGroupIcon,
R.string.media_confirm_dialog_title_a_to_p_visual_allow,
R.string.media_confirm_dialog_message_a_to_p_visual_allow)
targetSdk < Build.VERSION_CODES.Q && visual && deny ->
Triple(
- R.drawable.perm_group_storage,
+ storagePermGroupIcon,
R.string.media_confirm_dialog_title_a_to_p_visual_deny,
R.string.media_confirm_dialog_message_a_to_p_visual_deny)
targetSdk <= Build.VERSION_CODES.S_V2 && aural && allow ->
Triple(
- R.drawable.perm_group_visual,
+ visualPermGroupIcon,
R.string.media_confirm_dialog_title_q_to_s_aural_allow,
R.string.media_confirm_dialog_message_q_to_s_aural_allow)
targetSdk <= Build.VERSION_CODES.S_V2 && aural && deny ->
Triple(
- R.drawable.perm_group_visual,
+ visualPermGroupIcon,
R.string.media_confirm_dialog_title_q_to_s_aural_deny,
R.string.media_confirm_dialog_message_q_to_s_aural_deny)
targetSdk <= Build.VERSION_CODES.S_V2 && visual && allow ->
Triple(
- R.drawable.perm_group_aural,
+ auralPermGroupIcon,
R.string.media_confirm_dialog_title_q_to_s_visual_allow,
R.string.media_confirm_dialog_message_q_to_s_visual_allow)
targetSdk <= Build.VERSION_CODES.S_V2 && visual && deny ->
Triple(
- R.drawable.perm_group_aural,
+ auralPermGroupIcon,
R.string.media_confirm_dialog_title_q_to_s_visual_deny,
R.string.media_confirm_dialog_message_q_to_s_visual_deny)
else ->