Fix crash when loading album art by resource am: d0c1f811af
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/19366451 Change-Id: I475a264619e17e84997d40ddff4032eb3e379b9e Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -631,9 +631,22 @@ public class MediaControlPanel {
|
||||
Drawable artwork;
|
||||
boolean isArtworkBound;
|
||||
Icon artworkIcon = data.getArtwork();
|
||||
WallpaperColors wallpaperColors = null;
|
||||
if (artworkIcon != null) {
|
||||
WallpaperColors wallpaperColors = WallpaperColors
|
||||
.fromBitmap(artworkIcon.getBitmap());
|
||||
if (artworkIcon.getType() == Icon.TYPE_BITMAP
|
||||
|| artworkIcon.getType() == Icon.TYPE_ADAPTIVE_BITMAP) {
|
||||
// Avoids extra processing if this is already a valid bitmap
|
||||
wallpaperColors = WallpaperColors
|
||||
.fromBitmap(artworkIcon.getBitmap());
|
||||
} else {
|
||||
Drawable artworkDrawable = artworkIcon.loadDrawable(mContext);
|
||||
if (artworkDrawable != null) {
|
||||
wallpaperColors = WallpaperColors
|
||||
.fromDrawable(artworkIcon.loadDrawable(mContext));
|
||||
}
|
||||
}
|
||||
}
|
||||
if (wallpaperColors != null) {
|
||||
mutableColorScheme = new ColorScheme(wallpaperColors, true, Style.CONTENT);
|
||||
artwork = getScaledBackground(artworkIcon, width, height);
|
||||
isArtworkBound = true;
|
||||
|
||||
@@ -546,6 +546,19 @@ public class MediaControlPanelTest : SysuiTestCase() {
|
||||
verify(albumView).setLayerType(View.LAYER_TYPE_HARDWARE, null)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun bindAlbumView_artUsesResource() {
|
||||
val albumArt = Icon.createWithResource(context, R.drawable.ic_android)
|
||||
val state = mediaData.copy(artwork = albumArt)
|
||||
|
||||
player.attachPlayer(viewHolder)
|
||||
player.bindPlayer(state, PACKAGE)
|
||||
bgExecutor.runAllReady()
|
||||
mainExecutor.runAllReady()
|
||||
|
||||
verify(albumView).setImageDrawable(any(Drawable::class.java))
|
||||
}
|
||||
|
||||
@Test
|
||||
fun bindAlbumView_setAfterExecutors() {
|
||||
val bmp = Bitmap.createBitmap(10, 10, Bitmap.Config.ARGB_8888)
|
||||
|
||||
Reference in New Issue
Block a user