Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ff3ab034 authored by Beth Thibodeau's avatar Beth Thibodeau Committed by Automerger Merge Worker
Browse files

Merge "Fix crash when loading album art by resource" into tm-qpr-dev am: 531b63c1 am: ce0c4343

parents 6d531250 ce0c4343
Loading
Loading
Loading
Loading
+15 −2
Original line number Diff line number Diff line
@@ -682,9 +682,22 @@ public class MediaControlPanel {
            Drawable artwork;
            boolean isArtworkBound;
            Icon artworkIcon = data.getArtwork();
            WallpaperColors wallpaperColors = null;
            if (artworkIcon != null) {
                WallpaperColors wallpaperColors = WallpaperColors
                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);
                Drawable albumArt = getScaledBackground(artworkIcon, width, height);
                GradientDrawable gradient = (GradientDrawable) mContext
+13 −0
Original line number Diff line number Diff line
@@ -560,6 +560,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)