diff options
author | Philip P. Moltmann <moltmann@google.com> | 2018-02-08 11:49:21 -0800 |
---|---|---|
committer | Philip P. Moltmann <moltmann@google.com> | 2018-02-08 11:49:21 -0800 |
commit | 6b1912006795c1b65bb8d905ef676915bf073de1 (patch) | |
tree | fd3a4f59b2211a6629c0fc3670c21bb4c215d445 /src | |
parent | 89480455de67f88cf1dd3be56f60949da6227b58 (diff) | |
download | android_packages_apps_PackageInstaller-6b1912006795c1b65bb8d905ef676915bf073de1.tar.gz android_packages_apps_PackageInstaller-6b1912006795c1b65bb8d905ef676915bf073de1.tar.bz2 android_packages_apps_PackageInstaller-6b1912006795c1b65bb8d905ef676915bf073de1.zip |
Handle invalid permission group icon
In this case don't set an icon at all.
Test: atest PermissionsHostTests
Change-Id: Icaa47d50e0f62a159765b155b9120b5b73eb0f7c
Fixes: 73112239
Diffstat (limited to 'src')
3 files changed, 17 insertions, 5 deletions
diff --git a/src/com/android/packageinstaller/permission/ui/GrantPermissionsActivity.java b/src/com/android/packageinstaller/permission/ui/GrantPermissionsActivity.java index 36d43fcf..47cd8704 100644 --- a/src/com/android/packageinstaller/permission/ui/GrantPermissionsActivity.java +++ b/src/com/android/packageinstaller/permission/ui/GrantPermissionsActivity.java @@ -397,11 +397,17 @@ public class GrantPermissionsActivity extends OverlayTouchActivity // Fallback to system. resources = Resources.getSystem(); } - int icon = groupState.mGroup.getIconResId(); + + Icon icon; + try { + icon = Icon.createWithResource(resources, groupState.mGroup.getIconResId()); + } catch (Resources.NotFoundException e) { + Log.e(LOG_TAG, "Cannot load icon for group" + groupState.mGroup.getName(), e); + icon = null; + } mViewHandler.updateUi(groupState.mGroup.getName(), groupCount, currentIndex, - Icon.createWithResource(resources, icon), message, - groupState.mGroup.isUserSet()); + icon, message, groupState.mGroup.isUserSet()); return true; } diff --git a/src/com/android/packageinstaller/permission/ui/handheld/GrantPermissionsViewHandlerImpl.java b/src/com/android/packageinstaller/permission/ui/handheld/GrantPermissionsViewHandlerImpl.java index be7a763d..ef365b3b 100644 --- a/src/com/android/packageinstaller/permission/ui/handheld/GrantPermissionsViewHandlerImpl.java +++ b/src/com/android/packageinstaller/permission/ui/handheld/GrantPermissionsViewHandlerImpl.java @@ -312,7 +312,9 @@ public class GrantPermissionsViewHandlerImpl implements GrantPermissionsViewHand } private void updateDescription() { - mIconView.setImageDrawable(mGroupIcon.loadDrawable(mActivity)); + if (mGroupIcon != null) { + mIconView.setImageDrawable(mGroupIcon.loadDrawable(mActivity)); + } mMessageView.setText(mGroupMessage); } diff --git a/src/com/android/packageinstaller/permission/ui/television/GrantPermissionsViewHandlerImpl.java b/src/com/android/packageinstaller/permission/ui/television/GrantPermissionsViewHandlerImpl.java index 3aacc89c..e036ca5d 100644 --- a/src/com/android/packageinstaller/permission/ui/television/GrantPermissionsViewHandlerImpl.java +++ b/src/com/android/packageinstaller/permission/ui/television/GrantPermissionsViewHandlerImpl.java @@ -84,7 +84,11 @@ public final class GrantPermissionsViewHandlerImpl implements GrantPermissionsVi mGroupName = groupName; mMessageView.setText(message); - mIconView.setImageIcon(icon); + + if (icon != null) { + mIconView.setImageIcon(icon); + } + mHardDenyButton.setVisibility(showDoNotAsk ? View.VISIBLE : View.GONE); if (groupCount > 1) { mCurrentGroupView.setVisibility(View.VISIBLE); |