From 65d46ee179d1fa6f4b079c38a94d74f66985e4f6 Mon Sep 17 00:00:00 2001 From: Jason Chiu Date: Wed, 18 May 2022 16:58:31 +0800 Subject: [PATCH] Guard against the NPE in setPreferenceIcon() Fix: 232902867 Test: robotest Change-Id: I01f2a6aa8dab9c8e099588e440fc35ed1093592a --- .../settings/dashboard/DashboardFeatureProviderImpl.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/com/android/settings/dashboard/DashboardFeatureProviderImpl.java b/src/com/android/settings/dashboard/DashboardFeatureProviderImpl.java index 2ae20570e9c..08692dd56c7 100644 --- a/src/com/android/settings/dashboard/DashboardFeatureProviderImpl.java +++ b/src/com/android/settings/dashboard/DashboardFeatureProviderImpl.java @@ -422,6 +422,11 @@ public class DashboardFeatureProviderImpl implements DashboardFeatureProvider { private void setPreferenceIcon(Preference preference, Tile tile, boolean forceRoundedIcon, String iconPackage, Icon icon) { Drawable iconDrawable = icon.loadDrawable(preference.getContext()); + if (iconDrawable == null) { + Log.w(TAG, "Set null preference icon for: " + iconPackage); + preference.setIcon(null); + return; + } if (TextUtils.equals(tile.getCategory(), CategoryKey.CATEGORY_HOMEPAGE)) { iconDrawable.setTint(Utils.getHomepageIconColor(preference.getContext())); } else if (forceRoundedIcon && !TextUtils.equals(mContext.getPackageName(), iconPackage)) {