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;
|
Drawable artwork;
|
||||||
boolean isArtworkBound;
|
boolean isArtworkBound;
|
||||||
Icon artworkIcon = data.getArtwork();
|
Icon artworkIcon = data.getArtwork();
|
||||||
|
WallpaperColors wallpaperColors = null;
|
||||||
if (artworkIcon != null) {
|
if (artworkIcon != null) {
|
||||||
WallpaperColors wallpaperColors = WallpaperColors
|
if (artworkIcon.getType() == Icon.TYPE_BITMAP
|
||||||
.fromBitmap(artworkIcon.getBitmap());
|
|| 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);
|
mutableColorScheme = new ColorScheme(wallpaperColors, true, Style.CONTENT);
|
||||||
artwork = getScaledBackground(artworkIcon, width, height);
|
artwork = getScaledBackground(artworkIcon, width, height);
|
||||||
isArtworkBound = true;
|
isArtworkBound = true;
|
||||||
|
|||||||
@@ -546,6 +546,19 @@ public class MediaControlPanelTest : SysuiTestCase() {
|
|||||||
verify(albumView).setLayerType(View.LAYER_TYPE_HARDWARE, null)
|
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
|
@Test
|
||||||
fun bindAlbumView_setAfterExecutors() {
|
fun bindAlbumView_setAfterExecutors() {
|
||||||
val bmp = Bitmap.createBitmap(10, 10, Bitmap.Config.ARGB_8888)
|
val bmp = Bitmap.createBitmap(10, 10, Bitmap.Config.ARGB_8888)
|
||||||
|
|||||||
Reference in New Issue
Block a user