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);