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

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

Fix crash when loading album art by resource am: d0c1f811

parents 138fc75a d0c1f811
Loading
Loading
Loading
Loading
+15 −2
Original line number Original line Diff line number Diff line
@@ -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
                        || artworkIcon.getType() == Icon.TYPE_ADAPTIVE_BITMAP) {
                    // Avoids extra processing if this is already a valid bitmap
                    wallpaperColors = WallpaperColors
                            .fromBitmap(artworkIcon.getBitmap());
                            .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;
+13 −0
Original line number Original line Diff line number Diff line
@@ -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)