From 218a0fb0b4151117a8f9c7292da8f63d169d8df6 Mon Sep 17 00:00:00 2001 From: Christopher Eby Date: Thu, 16 Feb 2012 01:35:09 -0600 Subject: [PATCH] Prevent RemoteControlClient from clobbering cover art --- src/org/kreed/vanilla/CompatIcs.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/org/kreed/vanilla/CompatIcs.java b/src/org/kreed/vanilla/CompatIcs.java index becc59aa..00ffd8c6 100644 --- a/src/org/kreed/vanilla/CompatIcs.java +++ b/src/org/kreed/vanilla/CompatIcs.java @@ -26,6 +26,7 @@ import android.app.PendingIntent; import android.content.ComponentName; import android.content.Context; import android.content.Intent; +import android.graphics.Bitmap; import android.media.AudioManager; import android.media.MediaMetadataRetriever; import android.media.RemoteControlClient; @@ -89,7 +90,13 @@ public class CompatIcs { editor.putString(MediaMetadataRetriever.METADATA_KEY_ARTIST, song.artist); editor.putString(MediaMetadataRetriever.METADATA_KEY_ALBUM, song.album); editor.putString(MediaMetadataRetriever.METADATA_KEY_TITLE, song.title); - editor.putBitmap(RemoteControlClient.MetadataEditor.BITMAP_KEY_ARTWORK, song.getCover(context)); + Bitmap bitmap = song.getCover(context); + if (bitmap != null) { + // Create a copy of the cover art, since RemoteControlClient likes + // to recycle what we give it. + bitmap = bitmap.copy(Bitmap.Config.RGB_565, false); + } + editor.putBitmap(RemoteControlClient.MetadataEditor.BITMAP_KEY_ARTWORK, bitmap); } editor.apply(); }