diff options
author | Jay Thomas Sullivan <jaysullivan@google.com> | 2022-10-24 13:24:29 -0700 |
---|---|---|
committer | Jay Sullivan <jaysullivan@google.com> | 2022-10-28 19:55:37 +0000 |
commit | c71554988c611c449631be18cb3853f36e7e0da9 (patch) | |
tree | 36311e179e7a1d952823fea6fae169253ec070be /PermissionController/src/com/android/permissioncontroller/permission/ui/model/AppPermissionViewModel.kt | |
parent | 88c905bdc5b3bdf75d519d45230fb6e0020f430f (diff) | |
download | Permission-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.kt | 33 |
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 -> |