Use the existing drawable API to get the bitmap

Instead of adding bitmap specific APIs we are expecting applications to pass bitmap drawables.

This is in follow up to ag/13081407

Bug: 172068293
Bug: 170343703
Test: Manual
Change-Id: Ibfeb9a588c20bb9dc81205f0cd513de68e53aece
Merged-In: Ibfeb9a588c20bb9dc81205f0cd513de68e53aece
diff --git a/car-ui-lib/car-ui-lib/src/main/java/com/android/car/ui/imewidescreen/CarUiImeSearchListItem.java b/car-ui-lib/car-ui-lib/src/main/java/com/android/car/ui/imewidescreen/CarUiImeSearchListItem.java
index e234c23..8476869 100644
--- a/car-ui-lib/car-ui-lib/src/main/java/com/android/car/ui/imewidescreen/CarUiImeSearchListItem.java
+++ b/car-ui-lib/car-ui-lib/src/main/java/com/android/car/ui/imewidescreen/CarUiImeSearchListItem.java
@@ -16,6 +16,11 @@
 
 package com.android.car.ui.imewidescreen;
 
+import android.graphics.drawable.BitmapDrawable;
+import android.graphics.drawable.Drawable;
+
+import androidx.annotation.Nullable;
+
 import com.android.car.ui.recyclerview.CarUiContentListItem;
 import com.android.car.ui.recyclerview.CarUiListItemAdapter;
 
@@ -37,6 +42,37 @@
     }
 
     /**
+     * Sets the icon of the item. Icon must be a BitmapDrawable.
+     *
+     * @param icon the icon to display.
+     */
+    @Override
+    public void setIcon(@Nullable Drawable icon) {
+        if (icon instanceof BitmapDrawable || icon == null) {
+            super.setIcon(icon);
+            return;
+        }
+        throw new RuntimeException("icon should be of type BitmapDrawable");
+    }
+
+    /**
+     * Sets supplemental icon to be displayed in a list item. Icon must be a BitmapDrawable.
+     *
+     * @param icon     the Drawable to set as the icon, or null to clear the content.
+     * @param listener the callback that is invoked when the icon is clicked.
+     */
+    @Override
+    public void setSupplementalIcon(@Nullable Drawable icon,
+            @Nullable OnClickListener listener) {
+        if (icon instanceof BitmapDrawable || icon == null) {
+            super.setSupplementalIcon(icon, listener);
+            return;
+        }
+        throw new RuntimeException("icon should be of type BitmapDrawable");
+    }
+
+
+    /**
      * Returns the icons resource of the item.
      */
     public int getIconResId() {
diff --git a/car-ui-lib/car-ui-lib/src/main/java/com/android/car/ui/imewidescreen/CarUiImeWideScreenController.java b/car-ui-lib/car-ui-lib/src/main/java/com/android/car/ui/imewidescreen/CarUiImeWideScreenController.java
index 65d9fc8..b2c6f76 100644
--- a/car-ui-lib/car-ui-lib/src/main/java/com/android/car/ui/imewidescreen/CarUiImeWideScreenController.java
+++ b/car-ui-lib/car-ui-lib/src/main/java/com/android/car/ui/imewidescreen/CarUiImeWideScreenController.java
@@ -21,6 +21,7 @@
 import android.content.res.Resources;
 import android.graphics.Bitmap;
 import android.graphics.Rect;
+import android.graphics.drawable.BitmapDrawable;
 import android.graphics.drawable.Drawable;
 import android.inputmethodservice.ExtractEditText;
 import android.inputmethodservice.InputMethodService;
@@ -51,7 +52,6 @@
 
 import com.android.car.ui.R;
 import com.android.car.ui.recyclerview.CarUiContentListItem;
-import com.android.car.ui.recyclerview.CarUiListItem;
 import com.android.car.ui.recyclerview.CarUiListItemAdapter;
 import com.android.car.ui.utils.CarUiUtils;
 
@@ -131,7 +131,7 @@
 
     // Key used to provide list of unique id for each item. This same id will be sent back to
     // the application when the item is clicked. Value format is ArrayList<String>
-    public static final String SEARCH_RESULT_ITEM_ID = "search_result_item_id";
+    public static final String SEARCH_RESULT_ITEM_ID_LIST = "search_result_item_id_list";
     // Key used to provide the list of titles for each search item. Value format is
     // ArrayList<String>
     public static final String SEARCH_RESULT_TITLE_LIST = "search_result_title_list";
@@ -141,27 +141,27 @@
     // Key used to provide the list of resource id for each primary image in search item.
     // ArrayList<Integer>. If bitmap and res id both are provided than bitmap will take
     // precedence over res id.
-    public static final String SEARCH_RESULT_PRIMARY_IMAGE_RES_ID_LIST =
-            "search_result_image_list";
+    public static final String SEARCH_RESULT_ICON_RES_ID_LIST =
+            "search_result_icon_res_id_list";
     // Key used to provide the list of bitmap for each primary image in search item.
     // ArrayList<Integer>. If bitmap and res id both are provided than bitmap will take
     // precedence over res id.
-    public static final String SEARCH_RESULT_PRIMARY_IMAGE_BITMAP_LIST =
-            "search_result_image_bitmap_list";
+    public static final String SEARCH_RESULT_ICON_BITMAP_LIST =
+            "search_result_icon_bitmap_list";
     // Key used to provide the list of bitmap for each secondary image in search item.
     // ArrayList<Integer>. If bitmap and res id both are provided than bitmap will take
     // precedence over res id.
-    public static final String SEARCH_RESULT_SECONDARY_IMAGE_BITMAP_LIST =
-            "search_result_secondary_image_bitmap_list";
+    public static final String SEARCH_RESULT_SUPPLEMENTAL_ICON_BITMAP_LIST =
+            "search_result_supplemental_icon_bitmap_list";
     // Key used to provide the list of id for each secondary image in search item.
     // ArrayList<String>. If bitmap and res id both are provided than bitmap will take
     // precedence over res id.
-    public static final String SEARCH_RESULT_SECONDARY_IMAGE_ID =
-            "search_result_secondary_image_id";
+    public static final String SEARCH_RESULT_SUPPLEMENTAL_ICON_ID_LIST =
+            "search_result_supplemental_icon_id_list";
     // Key used to provide the list of resource id for each secondary image in search item.
     // ArrayList<Integer>
-    public static final String SEARCH_RESULT_SECONDARY_IMAGE_RES_ID_LIST =
-            "search_result_image_list";
+    public static final String SEARCH_RESULT_SUPPLEMENTAL_ICON_RES_ID_LIST =
+            "search_result_supplemental_icon_res_id_list";
     // key used to provide the surface package information by the application to the IME. IME
     // will send the surface info each time its being displayed.
     public static final String CONTENT_AREA_SURFACE_PACKAGE = "content_area_surface_package";
@@ -184,7 +184,7 @@
     private boolean mImeRendersAllContent = true;
     private boolean mAllowAppToHideContentArea;
     @Nullable
-    private ArrayList<CarUiListItem> mAutomotiveSearchItems;
+    private ArrayList<CarUiContentListItem> mAutomotiveSearchItems;
     @NonNull
     private TextView mWideScreenDescriptionTitle;
     @NonNull
@@ -398,35 +398,35 @@
     }
 
     private void loadSearchItems(Bundle data) {
-        ArrayList<String> itemIdList = data.getStringArrayList(SEARCH_RESULT_ITEM_ID);
+        ArrayList<String> itemIdList = data.getStringArrayList(SEARCH_RESULT_ITEM_ID_LIST);
         ArrayList<String> titleList = data.getStringArrayList(SEARCH_RESULT_TITLE_LIST);
         ArrayList<String> subTitleList = data.getStringArrayList(SEARCH_RESULT_SUB_TITLE_LIST);
         ArrayList<Bitmap> bitmapList = data.getParcelableArrayList(
-                SEARCH_RESULT_PRIMARY_IMAGE_BITMAP_LIST);
+                SEARCH_RESULT_ICON_BITMAP_LIST);
         ArrayList<Integer> primaryImageResIdList =
-                data.getIntegerArrayList(SEARCH_RESULT_PRIMARY_IMAGE_RES_ID_LIST);
+                data.getIntegerArrayList(SEARCH_RESULT_ICON_RES_ID_LIST);
         ArrayList<Bitmap> secondaryBitmapList = data.getParcelableArrayList(
-                SEARCH_RESULT_SECONDARY_IMAGE_BITMAP_LIST);
+                SEARCH_RESULT_SUPPLEMENTAL_ICON_BITMAP_LIST);
         ArrayList<String> secondaryImageIdList =
-                data.getStringArrayList(SEARCH_RESULT_SECONDARY_IMAGE_ID);
+                data.getStringArrayList(SEARCH_RESULT_SUPPLEMENTAL_ICON_ID_LIST);
         ArrayList<Integer> secondaryImageResIdList =
-                data.getIntegerArrayList(SEARCH_RESULT_SECONDARY_IMAGE_RES_ID_LIST);
+                data.getIntegerArrayList(SEARCH_RESULT_SUPPLEMENTAL_ICON_RES_ID_LIST);
         if (itemIdList == null) {
             return;
         }
         mAutomotiveSearchItems = new ArrayList<>();
         for (int i = 0; i < itemIdList.size(); i++) {
             int index = i;
-            CarUiImeSearchListItem searchItem;
+            CarUiContentListItem searchItem;
             if (secondaryImageIdList == null) {
-                searchItem = new CarUiImeSearchListItem(CarUiContentListItem.Action.NONE);
+                searchItem = new CarUiContentListItem(CarUiContentListItem.Action.NONE);
             } else {
-                searchItem = new CarUiImeSearchListItem(CarUiContentListItem.Action.ICON);
+                searchItem = new CarUiContentListItem(CarUiContentListItem.Action.ICON);
             }
 
             searchItem.setOnItemClickedListener(v -> {
                 Bundle bundle = new Bundle();
-                bundle.putString(SEARCH_RESULT_ITEM_ID, itemIdList.get(index));
+                bundle.putString(SEARCH_RESULT_ITEM_ID_LIST, itemIdList.get(index));
                 mInputConnection.performPrivateCommand(WIDE_SCREEN_ACTION, bundle);
             });
 
@@ -441,19 +441,21 @@
             if (primaryImageResIdList != null) {
                 searchItem.setPrimaryIconType(CarUiContentListItem.IconType.CONTENT);
                 if (bitmapList != null && bitmapList.get(i) != null) {
-                    searchItem.setIconBitmap(bitmapList.get(i));
+                    searchItem.setIcon(
+                            new BitmapDrawable(mContext.getResources(), bitmapList.get(i)));
                 } else {
                     searchItem.setIcon(loadDrawableFromPackage(primaryImageResIdList.get(i)));
                 }
             }
 
             if (secondaryBitmapList != null && secondaryBitmapList.get(i) != null) {
-                searchItem.setSupplementalIconBitmap(secondaryBitmapList.get(i));
+                searchItem.setSupplementalIcon(
+                        new BitmapDrawable(mContext.getResources(), secondaryBitmapList.get(i)));
             } else if (secondaryImageResIdList != null && secondaryImageIdList != null) {
                 searchItem.setSupplementalIcon(
                         loadDrawableFromPackage(secondaryImageResIdList.get(i)), v -> {
                             Bundle bundle = new Bundle();
-                            bundle.putString(SEARCH_RESULT_SECONDARY_IMAGE_ID,
+                            bundle.putString(SEARCH_RESULT_SUPPLEMENTAL_ICON_ID_LIST,
                                     secondaryImageIdList.get(index));
                             mInputConnection.performPrivateCommand(WIDE_SCREEN_ACTION, bundle);
                         });
diff --git a/car-ui-lib/car-ui-lib/src/main/java/com/android/car/ui/recyclerview/CarUiContentListItem.java b/car-ui-lib/car-ui-lib/src/main/java/com/android/car/ui/recyclerview/CarUiContentListItem.java
index 149252c..e6a14d7 100644
--- a/car-ui-lib/car-ui-lib/src/main/java/com/android/car/ui/recyclerview/CarUiContentListItem.java
+++ b/car-ui-lib/car-ui-lib/src/main/java/com/android/car/ui/recyclerview/CarUiContentListItem.java
@@ -16,7 +16,6 @@
 
 package com.android.car.ui.recyclerview;
 
-import android.graphics.Bitmap;
 import android.graphics.drawable.Drawable;
 
 import androidx.annotation.NonNull;
@@ -102,10 +101,8 @@
     }
 
     private Drawable mIcon;
-    private Bitmap mIconBitmap;
     @Nullable
     private Drawable mSupplementalIcon;
-    private Bitmap mSupplementalIconBitmap;
     private CharSequence mTitle;
     private CharSequence mBody;
     private final Action mAction;
@@ -176,23 +173,6 @@
     }
 
     /**
-     * Returns the bitmap of the icon if provided.
-     */
-    @Nullable
-    public Bitmap getIconBitmap() {
-        return mIconBitmap;
-    }
-
-    /**
-     * Sets the bitmap of the icon.
-     *
-     * @param iconBitmap the bitmap of icon to display.
-     */
-    public void setIconBitmap(Bitmap iconBitmap) {
-        mIconBitmap = iconBitmap;
-    }
-
-    /**
      * Returns the primary icon type for the item.
      */
     public IconType getPrimaryIconType() {
@@ -292,24 +272,6 @@
         return mAction;
     }
 
-
-    /**
-     * Returns the bitmap of the supplemental icon if provided.
-     */
-    @Nullable
-    public Bitmap getSupplementalIconBitmap() {
-        return mSupplementalIconBitmap;
-    }
-
-    /**
-     * Sets the bitmap of the supplemental icon.
-     *
-     * @param supplementalIconBitmap the bitmap of icon to display.
-     */
-    public void setSupplementalIconBitmap(Bitmap supplementalIconBitmap) {
-        mSupplementalIconBitmap = supplementalIconBitmap;
-    }
-
     /**
      * Returns the supplemental icon for the item.
      */
diff --git a/car-ui-lib/car-ui-lib/src/main/java/com/android/car/ui/recyclerview/CarUiListItemAdapter.java b/car-ui-lib/car-ui-lib/src/main/java/com/android/car/ui/recyclerview/CarUiListItemAdapter.java
index e9955b9..a45b1e8 100644
--- a/car-ui-lib/car-ui-lib/src/main/java/com/android/car/ui/recyclerview/CarUiListItemAdapter.java
+++ b/car-ui-lib/car-ui-lib/src/main/java/com/android/car/ui/recyclerview/CarUiListItemAdapter.java
@@ -18,7 +18,6 @@
 
 import static com.android.car.ui.utils.CarUiUtils.requireViewByRefId;
 
-import android.graphics.Bitmap;
 import android.graphics.drawable.Drawable;
 import android.text.TextUtils;
 import android.view.LayoutInflater;
@@ -193,10 +192,6 @@
             CharSequence title = item.getTitle();
             CharSequence body = item.getBody();
             Drawable icon = item.getIcon();
-            Bitmap iconBitmap = null;
-            if (icon == null) {
-                iconBitmap = item.getIconBitmap();
-            }
 
             if (!TextUtils.isEmpty(title)) {
                 mTitle.setText(title);
@@ -216,33 +211,21 @@
             mContentIcon.setVisibility(View.GONE);
             mAvatarIcon.setVisibility(View.GONE);
 
-            if (icon != null || iconBitmap != null) {
+            if (icon != null) {
                 mIconContainer.setVisibility(View.VISIBLE);
 
                 switch (item.getPrimaryIconType()) {
                     case CONTENT:
                         mContentIcon.setVisibility(View.VISIBLE);
-                        if (icon != null) {
-                            mContentIcon.setImageDrawable(icon);
-                        } else {
-                            mContentIcon.setImageBitmap(iconBitmap);
-                        }
+                        mContentIcon.setImageDrawable(icon);
                         break;
                     case STANDARD:
                         mIcon.setVisibility(View.VISIBLE);
-                        if (icon != null) {
-                            mIcon.setImageDrawable(icon);
-                        } else {
-                            mIcon.setImageBitmap(iconBitmap);
-                        }
+                        mIcon.setImageDrawable(icon);
                         break;
                     case AVATAR:
                         mAvatarIcon.setVisibility(View.VISIBLE);
-                        if (icon != null) {
-                            mAvatarIcon.setImageDrawable(icon);
-                        } else {
-                            mAvatarIcon.setImageBitmap(iconBitmap);
-                        }
+                        mAvatarIcon.setImageDrawable(icon);
                         mAvatarIcon.setClipToOutline(true);
                         break;
                 }
@@ -299,11 +282,7 @@
                     break;
                 case ICON:
                     mSupplementalIcon.setVisibility(View.VISIBLE);
-                    if (item.getSupplementalIcon() != null) {
-                        mSupplementalIcon.setImageDrawable(item.getSupplementalIcon());
-                    } else {
-                        mSupplementalIcon.setImageBitmap(item.getSupplementalIconBitmap());
-                    }
+                    mSupplementalIcon.setImageDrawable(item.getSupplementalIcon());
 
                     mActionContainer.setVisibility(View.VISIBLE);
 
diff --git a/car-ui-lib/car-ui-lib/src/main/java/com/android/car/ui/toolbar/CarUiEditText.java b/car-ui-lib/car-ui-lib/src/main/java/com/android/car/ui/toolbar/CarUiEditText.java
index ab85ac8..1f1a07c 100644
--- a/car-ui-lib/car-ui-lib/src/main/java/com/android/car/ui/toolbar/CarUiEditText.java
+++ b/car-ui-lib/car-ui-lib/src/main/java/com/android/car/ui/toolbar/CarUiEditText.java
@@ -20,8 +20,8 @@
 import static com.android.car.ui.imewidescreen.CarUiImeWideScreenController.CONTENT_AREA_SURFACE_HEIGHT;
 import static com.android.car.ui.imewidescreen.CarUiImeWideScreenController.CONTENT_AREA_SURFACE_HOST_TOKEN;
 import static com.android.car.ui.imewidescreen.CarUiImeWideScreenController.CONTENT_AREA_SURFACE_WIDTH;
-import static com.android.car.ui.imewidescreen.CarUiImeWideScreenController.SEARCH_RESULT_ITEM_ID;
-import static com.android.car.ui.imewidescreen.CarUiImeWideScreenController.SEARCH_RESULT_SECONDARY_IMAGE_ID;
+import static com.android.car.ui.imewidescreen.CarUiImeWideScreenController.SEARCH_RESULT_ITEM_ID_LIST;
+import static com.android.car.ui.imewidescreen.CarUiImeWideScreenController.SEARCH_RESULT_SUPPLEMENTAL_ICON_ID_LIST;
 import static com.android.car.ui.imewidescreen.CarUiImeWideScreenController.WIDE_SCREEN_CLEAR_DATA_ACTION;
 
 import android.content.Context;
@@ -74,16 +74,16 @@
             return false;
         }
 
-        if (data.getString(SEARCH_RESULT_ITEM_ID) != null) {
+        if (data.getString(SEARCH_RESULT_ITEM_ID_LIST) != null) {
             for (PrivateImeCommandCallback listener : mPrivateImeCommandCallback) {
-                listener.onItemClicked(data.getString(SEARCH_RESULT_ITEM_ID));
+                listener.onItemClicked(data.getString(SEARCH_RESULT_ITEM_ID_LIST));
             }
         }
 
-        if (data.getString(SEARCH_RESULT_SECONDARY_IMAGE_ID) != null) {
+        if (data.getString(SEARCH_RESULT_SUPPLEMENTAL_ICON_ID_LIST) != null) {
             for (PrivateImeCommandCallback listener : mPrivateImeCommandCallback) {
                 listener.onSecondaryImageClicked(
-                        data.getString(SEARCH_RESULT_SECONDARY_IMAGE_ID));
+                        data.getString(SEARCH_RESULT_SUPPLEMENTAL_ICON_ID_LIST));
             }
         }
 
diff --git a/car-ui-lib/car-ui-lib/src/main/java/com/android/car/ui/toolbar/SearchView.java b/car-ui-lib/car-ui-lib/src/main/java/com/android/car/ui/toolbar/SearchView.java
index 9b064ff..62511f0 100644
--- a/car-ui-lib/car-ui-lib/src/main/java/com/android/car/ui/toolbar/SearchView.java
+++ b/car-ui-lib/car-ui-lib/src/main/java/com/android/car/ui/toolbar/SearchView.java
@@ -18,19 +18,20 @@
 import static android.view.WindowInsets.Type.ime;
 
 import static com.android.car.ui.imewidescreen.CarUiImeWideScreenController.CONTENT_AREA_SURFACE_PACKAGE;
-import static com.android.car.ui.imewidescreen.CarUiImeWideScreenController.SEARCH_RESULT_ITEM_ID;
-import static com.android.car.ui.imewidescreen.CarUiImeWideScreenController.SEARCH_RESULT_PRIMARY_IMAGE_BITMAP_LIST;
-import static com.android.car.ui.imewidescreen.CarUiImeWideScreenController.SEARCH_RESULT_PRIMARY_IMAGE_RES_ID_LIST;
-import static com.android.car.ui.imewidescreen.CarUiImeWideScreenController.SEARCH_RESULT_SECONDARY_IMAGE_BITMAP_LIST;
-import static com.android.car.ui.imewidescreen.CarUiImeWideScreenController.SEARCH_RESULT_SECONDARY_IMAGE_ID;
-import static com.android.car.ui.imewidescreen.CarUiImeWideScreenController.SEARCH_RESULT_SECONDARY_IMAGE_RES_ID_LIST;
+import static com.android.car.ui.imewidescreen.CarUiImeWideScreenController.SEARCH_RESULT_ICON_BITMAP_LIST;
+import static com.android.car.ui.imewidescreen.CarUiImeWideScreenController.SEARCH_RESULT_ICON_RES_ID_LIST;
+import static com.android.car.ui.imewidescreen.CarUiImeWideScreenController.SEARCH_RESULT_ITEM_ID_LIST;
 import static com.android.car.ui.imewidescreen.CarUiImeWideScreenController.SEARCH_RESULT_SUB_TITLE_LIST;
+import static com.android.car.ui.imewidescreen.CarUiImeWideScreenController.SEARCH_RESULT_SUPPLEMENTAL_ICON_BITMAP_LIST;
+import static com.android.car.ui.imewidescreen.CarUiImeWideScreenController.SEARCH_RESULT_SUPPLEMENTAL_ICON_ID_LIST;
+import static com.android.car.ui.imewidescreen.CarUiImeWideScreenController.SEARCH_RESULT_SUPPLEMENTAL_ICON_RES_ID_LIST;
 import static com.android.car.ui.imewidescreen.CarUiImeWideScreenController.SEARCH_RESULT_TITLE_LIST;
 import static com.android.car.ui.imewidescreen.CarUiImeWideScreenController.WIDE_SCREEN_ACTION;
 import static com.android.car.ui.utils.CarUiUtils.requireViewByRefId;
 
 import android.content.Context;
 import android.graphics.Bitmap;
+import android.graphics.drawable.BitmapDrawable;
 import android.graphics.drawable.Drawable;
 import android.hardware.display.DisplayManager;
 import android.os.Build;
@@ -298,24 +299,28 @@
             primaryImageResId.add(item.getIconResId());
             secondaryItemId.add(idString);
             secondaryImageResId.add(item.getSupplementalIconResId());
-            primaryImageBitmapList.add(item.getIconBitmap());
-            secondaryImageBitmapList.add(item.getSupplementalIconBitmap());
+            BitmapDrawable icon = (BitmapDrawable) item.getIcon();
+            primaryImageBitmapList.add(icon != null ? icon.getBitmap() : null);
+            BitmapDrawable supplementalIcon = (BitmapDrawable) item.getSupplementalIcon();
+            secondaryImageBitmapList.add(
+                    supplementalIcon != null ? supplementalIcon.getBitmap() : null);
 
             mIdToListItem.put(idString, item);
             id++;
         }
 
         Bundle bundle = new Bundle();
-        bundle.putStringArrayList(SEARCH_RESULT_ITEM_ID, itemIdList);
+        bundle.putStringArrayList(SEARCH_RESULT_ITEM_ID_LIST, itemIdList);
         bundle.putStringArrayList(SEARCH_RESULT_TITLE_LIST, titleList);
         bundle.putStringArrayList(SEARCH_RESULT_SUB_TITLE_LIST, subTitleList);
-        bundle.putParcelableArrayList(SEARCH_RESULT_PRIMARY_IMAGE_BITMAP_LIST,
+        bundle.putParcelableArrayList(SEARCH_RESULT_ICON_BITMAP_LIST,
                 primaryImageBitmapList);
-        bundle.putParcelableArrayList(SEARCH_RESULT_SECONDARY_IMAGE_BITMAP_LIST,
+        bundle.putParcelableArrayList(SEARCH_RESULT_SUPPLEMENTAL_ICON_BITMAP_LIST,
                 secondaryImageBitmapList);
-        bundle.putIntegerArrayList(SEARCH_RESULT_PRIMARY_IMAGE_RES_ID_LIST, primaryImageResId);
-        bundle.putStringArrayList(SEARCH_RESULT_SECONDARY_IMAGE_ID, secondaryItemId);
-        bundle.putIntegerArrayList(SEARCH_RESULT_SECONDARY_IMAGE_RES_ID_LIST, secondaryImageResId);
+        bundle.putIntegerArrayList(SEARCH_RESULT_ICON_RES_ID_LIST, primaryImageResId);
+        bundle.putStringArrayList(SEARCH_RESULT_SUPPLEMENTAL_ICON_ID_LIST, secondaryItemId);
+        bundle.putIntegerArrayList(SEARCH_RESULT_SUPPLEMENTAL_ICON_RES_ID_LIST,
+                secondaryImageResId);
         mInputMethodManager.sendAppPrivateCommand(mSearchText, WIDE_SCREEN_ACTION, bundle);
     }
 
diff --git a/car-ui-lib/paintbooth/src/main/java/com/android/car/ui/paintbooth/widescreenime/WideScreenImeActivity.java b/car-ui-lib/paintbooth/src/main/java/com/android/car/ui/paintbooth/widescreenime/WideScreenImeActivity.java
index 1d6a27d..8fd206d 100644
--- a/car-ui-lib/paintbooth/src/main/java/com/android/car/ui/paintbooth/widescreenime/WideScreenImeActivity.java
+++ b/car-ui-lib/paintbooth/src/main/java/com/android/car/ui/paintbooth/widescreenime/WideScreenImeActivity.java
@@ -22,11 +22,11 @@
 import static com.android.car.ui.imewidescreen.CarUiImeWideScreenController.ADD_DESC_TO_CONTENT_AREA;
 import static com.android.car.ui.imewidescreen.CarUiImeWideScreenController.ADD_ERROR_DESC_TO_INPUT_AREA;
 import static com.android.car.ui.imewidescreen.CarUiImeWideScreenController.REQUEST_RENDER_CONTENT_AREA;
-import static com.android.car.ui.imewidescreen.CarUiImeWideScreenController.SEARCH_RESULT_ITEM_ID;
-import static com.android.car.ui.imewidescreen.CarUiImeWideScreenController.SEARCH_RESULT_PRIMARY_IMAGE_RES_ID_LIST;
-import static com.android.car.ui.imewidescreen.CarUiImeWideScreenController.SEARCH_RESULT_SECONDARY_IMAGE_ID;
-import static com.android.car.ui.imewidescreen.CarUiImeWideScreenController.SEARCH_RESULT_SECONDARY_IMAGE_RES_ID_LIST;
+import static com.android.car.ui.imewidescreen.CarUiImeWideScreenController.SEARCH_RESULT_ICON_RES_ID_LIST;
+import static com.android.car.ui.imewidescreen.CarUiImeWideScreenController.SEARCH_RESULT_ITEM_ID_LIST;
 import static com.android.car.ui.imewidescreen.CarUiImeWideScreenController.SEARCH_RESULT_SUB_TITLE_LIST;
+import static com.android.car.ui.imewidescreen.CarUiImeWideScreenController.SEARCH_RESULT_SUPPLEMENTAL_ICON_ID_LIST;
+import static com.android.car.ui.imewidescreen.CarUiImeWideScreenController.SEARCH_RESULT_SUPPLEMENTAL_ICON_RES_ID_LIST;
 import static com.android.car.ui.imewidescreen.CarUiImeWideScreenController.SEARCH_RESULT_TITLE_LIST;
 import static com.android.car.ui.imewidescreen.CarUiImeWideScreenController.WIDE_SCREEN_ACTION;
 import static com.android.car.ui.imewidescreen.CarUiImeWideScreenController.WIDE_SCREEN_EXTRACTED_TEXT_ICON_RES_ID;
@@ -257,18 +257,19 @@
 
                 bundle.putStringArrayList(SEARCH_RESULT_TITLE_LIST, mTitleList);
                 bundle.putStringArrayList(SEARCH_RESULT_SUB_TITLE_LIST, mSubTitleList);
-                bundle.putIntegerArrayList(SEARCH_RESULT_PRIMARY_IMAGE_RES_ID_LIST,
+                bundle.putIntegerArrayList(SEARCH_RESULT_ICON_RES_ID_LIST,
                         mPrimaryImageResId);
                 mInputMethodManager.sendAppPrivateCommand(view, WIDE_SCREEN_ACTION, bundle);
             }
         });
 
-        bundle.putStringArrayList(SEARCH_RESULT_ITEM_ID, mItemIdList);
+        bundle.putStringArrayList(SEARCH_RESULT_ITEM_ID_LIST, mItemIdList);
         bundle.putStringArrayList(SEARCH_RESULT_TITLE_LIST, mTitleList);
         bundle.putStringArrayList(SEARCH_RESULT_SUB_TITLE_LIST, mSubTitleList);
-        bundle.putStringArrayList(SEARCH_RESULT_SECONDARY_IMAGE_ID, mSecondaryItemId);
-        bundle.putIntegerArrayList(SEARCH_RESULT_PRIMARY_IMAGE_RES_ID_LIST, mPrimaryImageResId);
-        bundle.putIntegerArrayList(SEARCH_RESULT_SECONDARY_IMAGE_RES_ID_LIST, mSecondaryImageResId);
+        bundle.putStringArrayList(SEARCH_RESULT_SUPPLEMENTAL_ICON_ID_LIST, mSecondaryItemId);
+        bundle.putIntegerArrayList(SEARCH_RESULT_ICON_RES_ID_LIST, mPrimaryImageResId);
+        bundle.putIntegerArrayList(SEARCH_RESULT_SUPPLEMENTAL_ICON_RES_ID_LIST,
+                mSecondaryImageResId);
         mInputMethodManager.sendAppPrivateCommand(view, WIDE_SCREEN_ACTION, bundle);
     }