[automerger skipped] Migrate SettingsIntelligence to androidx.
am: b01cfa1270  -s ours

Change-Id: If1dd41a744ee2de04fe718fccd902453162facae
diff --git a/src/com/android/settings/intelligence/suggestions/model/CandidateSuggestion.java b/src/com/android/settings/intelligence/suggestions/model/CandidateSuggestion.java
index c387e9d..2502e2a 100644
--- a/src/com/android/settings/intelligence/suggestions/model/CandidateSuggestion.java
+++ b/src/com/android/settings/intelligence/suggestions/model/CandidateSuggestion.java
@@ -182,14 +182,17 @@
                 // First get override data
                 final Bundle overrideData = getOverrideData(metaData);
                 // Get icon
-                if (metaData.containsKey(META_DATA_PREFERENCE_ICON)) {
-                    iconRes = metaData.getInt(META_DATA_PREFERENCE_ICON);
-                } else {
-                    iconRes = mResolveInfo.activityInfo.icon;
-                }
-                if (iconRes != 0) {
-                    icon = Icon.createWithResource(
-                            mResolveInfo.activityInfo.packageName, iconRes);
+                icon = getIconFromBundle(overrideData, META_DATA_PREFERENCE_ICON);
+                if (icon == null) {
+                    if (metaData.containsKey(META_DATA_PREFERENCE_ICON)) {
+                        iconRes = metaData.getInt(META_DATA_PREFERENCE_ICON);
+                    } else {
+                        iconRes = mResolveInfo.activityInfo.icon;
+                    }
+                    if (iconRes != 0) {
+                        icon = Icon.createWithResource(
+                                mResolveInfo.activityInfo.packageName, iconRes);
+                    }
                 }
                 // Get title
                 title = getStringFromBundle(overrideData, META_DATA_PREFERENCE_TITLE);
@@ -241,6 +244,14 @@
         return bundle.getString(key);
     }
 
+    /** Extracts an Icon object from bundle. */
+    private Icon getIconFromBundle(Bundle bundle, String key) {
+        if (bundle == null || TextUtils.isEmpty(key)) {
+            return null;
+        }
+        return bundle.getParcelable(key);
+    }
+
     private Bundle getOverrideData(Bundle metadata) {
         if (metadata == null || !metadata.containsKey(META_DATA_PREFERENCE_SUMMARY_URI)) {
             Log.d(TAG, "Metadata null or has no info about summary_uri");