Use drawables for placeholder backgrounds

Fixes: 144689934
Test: Manual
Change-Id: Ib3ae252d55a2480f9d187e733eda45d6b1a8b7f1
diff --git a/car-media-common/res/values/arrays.xml b/car-media-common/res/values/arrays.xml
index f9c1da2..55e08b9 100644
--- a/car-media-common/res/values/arrays.xml
+++ b/car-media-common/res/values/arrays.xml
@@ -16,6 +16,11 @@
   -->
 
 <resources>
+    <!-- These are drawables to be used as placeholder album art. Album art
+        can be displayed in 2 modes, foreground or background. Foreground art
+        is displayed prominently (such as with other song metadata), whereas
+        background art is only used for backgrounds, and is typically
+        partially blurred/hidden. -->
     <array name="placeholder_images">
         <item>@drawable/ic_placeholder_0</item>
         <item>@drawable/ic_placeholder_1</item>
@@ -26,15 +31,16 @@
         <item>@drawable/ic_placeholder_6</item>
         <item>@drawable/ic_placeholder_7</item>
     </array>
-    <array name="placeholder_colors">
-        <item>@color/placeholder_color_0</item>
-        <item>@color/placeholder_color_1</item>
-        <item>@color/placeholder_color_2</item>
-        <item>@color/placeholder_color_3</item>
-        <item>@color/placeholder_color_4</item>
-        <item>@color/placeholder_color_5</item>
-        <item>@color/placeholder_color_6</item>
-        <item>@color/placeholder_color_7</item>
+    <!-- This array is for the backgrounds of the placeholder images above -->
+    <array name="placeholder_backgrounds">
+        <item>@drawable/placeholder_color_drawable_0</item>
+        <item>@drawable/placeholder_color_drawable_1</item>
+        <item>@drawable/placeholder_color_drawable_2</item>
+        <item>@drawable/placeholder_color_drawable_3</item>
+        <item>@drawable/placeholder_color_drawable_4</item>
+        <item>@drawable/placeholder_color_drawable_5</item>
+        <item>@drawable/placeholder_color_drawable_6</item>
+        <item>@drawable/placeholder_color_drawable_7</item>
     </array>
 
 
diff --git a/car-media-common/res/values/drawables.xml b/car-media-common/res/values/drawables.xml
new file mode 100644
index 0000000..c073df9
--- /dev/null
+++ b/car-media-common/res/values/drawables.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+  <drawable name="placeholder_color_drawable_0">@color/placeholder_color_0</drawable>
+  <drawable name="placeholder_color_drawable_1">@color/placeholder_color_1</drawable>
+  <drawable name="placeholder_color_drawable_2">@color/placeholder_color_2</drawable>
+  <drawable name="placeholder_color_drawable_3">@color/placeholder_color_3</drawable>
+  <drawable name="placeholder_color_drawable_4">@color/placeholder_color_4</drawable>
+  <drawable name="placeholder_color_drawable_5">@color/placeholder_color_5</drawable>
+  <drawable name="placeholder_color_drawable_6">@color/placeholder_color_6</drawable>
+  <drawable name="placeholder_color_drawable_7">@color/placeholder_color_7</drawable>
+</resources>
\ No newline at end of file
diff --git a/car-media-common/src/com/android/car/media/common/MediaItemMetadata.java b/car-media-common/src/com/android/car/media/common/MediaItemMetadata.java
index 00a4416..317bb7a 100644
--- a/car-media-common/src/com/android/car/media/common/MediaItemMetadata.java
+++ b/car-media-common/src/com/android/car/media/common/MediaItemMetadata.java
@@ -24,7 +24,6 @@
 import android.graphics.Bitmap;
 import android.graphics.Color;
 import android.graphics.drawable.BitmapDrawable;
-import android.graphics.drawable.ColorDrawable;
 import android.graphics.drawable.Drawable;
 import android.net.Uri;
 import android.os.Bundle;
@@ -267,7 +266,7 @@
         if (placeHolders == null) {
             TypedArray placeholderImages = context.getResources().obtainTypedArray(
                     type == PlaceholderType.FOREGROUND
-                            ? R.array.placeholder_images : R.array.placeholder_colors);
+                            ? R.array.placeholder_images : R.array.placeholder_backgrounds);
 
             if (placeholderImages == null) {
                 throw new NullPointerException("No placeholders for " + type);
@@ -275,9 +274,7 @@
 
             placeHolders = new ArrayList<>(placeholderImages.length());
             for (int i = 0; i < placeholderImages.length(); i++) {
-                placeHolders.add(type == PlaceholderType.FOREGROUND
-                        ? placeholderImages.getDrawable(i)
-                        : new ColorDrawable(placeholderImages.getColor(i, 0)));
+                placeHolders.add(placeholderImages.getDrawable(i));
             }
             placeholderImages.recycle();
             sPlaceHolders.put(type, placeHolders);