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 Original line Diff line number Diff line
@@ -682,9 +682,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);
                Drawable albumArt = getScaledBackground(artworkIcon, width, height);
                Drawable albumArt = getScaledBackground(artworkIcon, width, height);
                GradientDrawable gradient = (GradientDrawable) mContext
                GradientDrawable gradient = (GradientDrawable) mContext
+13 −0
Original line number Original line Diff line number Diff line
@@ -560,6 +560,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)