diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index a2300379..240fb4f1 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -24,7 +24,7 @@ THE SOFTWARE. diff --git a/app/src/main/java/ch/blinkenlights/android/vanilla/CoverCache.java b/app/src/main/java/ch/blinkenlights/android/vanilla/CoverCache.java index c86bbf26..ca218e15 100644 --- a/app/src/main/java/ch/blinkenlights/android/vanilla/CoverCache.java +++ b/app/src/main/java/ch/blinkenlights/android/vanilla/CoverCache.java @@ -53,7 +53,11 @@ public class CoverCache { */ public final static int SIZE_SMALL = (int)(44 * METRICS.density); /** - * Returned size of large (cover view) album covers + * Cover to use in remote views with a medium size. + */ + public final static int SIZE_MEDIUM = (int)(240 * METRICS.density); + /** + * Cover to use in the highest quality possible (full cover view). */ public final static int SIZE_LARGE = (METRICS.heightPixels > METRICS.widthPixels ? METRICS.widthPixels : METRICS.heightPixels); /** diff --git a/app/src/main/java/ch/blinkenlights/android/vanilla/CoverView.java b/app/src/main/java/ch/blinkenlights/android/vanilla/CoverView.java index d4d42f78..f678621b 100644 --- a/app/src/main/java/ch/blinkenlights/android/vanilla/CoverView.java +++ b/app/src/main/java/ch/blinkenlights/android/vanilla/CoverView.java @@ -227,7 +227,7 @@ public final class CoverView extends View implements Handler.Callback { */ private Bitmap generateBitmap(Song song) { int style = mCoverStyle; - Bitmap cover = song == null ? null : song.getCover(mContext); + Bitmap cover = song == null ? null : song.getLargeCover(mContext); if (cover == null && style != CoverBitmap.STYLE_OVERLAPPING_BOX) { cover = CoverBitmap.generateDefaultCover(mContext, getWidth(), getHeight()); diff --git a/app/src/main/java/ch/blinkenlights/android/vanilla/FourLongWidget.java b/app/src/main/java/ch/blinkenlights/android/vanilla/FourLongWidget.java index a8267dd3..2f689e35 100644 --- a/app/src/main/java/ch/blinkenlights/android/vanilla/FourLongWidget.java +++ b/app/src/main/java/ch/blinkenlights/android/vanilla/FourLongWidget.java @@ -111,7 +111,7 @@ public class FourLongWidget extends AppWidgetProvider { views.setTextViewText(R.id.title, song.title); views.setTextViewText(R.id.artist, song.artist); views.setTextViewText(R.id.album, song.album); - Bitmap cover = song.getCover(context); + Bitmap cover = song.getMediumCover(context); if (cover == null) { views.setImageViewResource(R.id.cover, R.drawable.fallback_cover_large); } else { diff --git a/app/src/main/java/ch/blinkenlights/android/vanilla/FourSquareWidget.java b/app/src/main/java/ch/blinkenlights/android/vanilla/FourSquareWidget.java index aeadfda2..16020c71 100644 --- a/app/src/main/java/ch/blinkenlights/android/vanilla/FourSquareWidget.java +++ b/app/src/main/java/ch/blinkenlights/android/vanilla/FourSquareWidget.java @@ -109,7 +109,7 @@ public class FourSquareWidget extends AppWidgetProvider { views.setViewVisibility(R.id.buttons, View.VISIBLE); views.setTextViewText(R.id.title, song.title); views.setTextViewText(R.id.artist, song.artist); - cover = song.getCover(context); + cover = song.getMediumCover(context); playResource = playing ? R.drawable.hidden_pause : R.drawable.hidden_play; nextResource = R.drawable.hidden_next; } diff --git a/app/src/main/java/ch/blinkenlights/android/vanilla/FourWhiteWidget.java b/app/src/main/java/ch/blinkenlights/android/vanilla/FourWhiteWidget.java index f94147c0..b08e7f07 100644 --- a/app/src/main/java/ch/blinkenlights/android/vanilla/FourWhiteWidget.java +++ b/app/src/main/java/ch/blinkenlights/android/vanilla/FourWhiteWidget.java @@ -114,7 +114,7 @@ public class FourWhiteWidget extends AppWidgetProvider { views.setViewVisibility(R.id.title, View.VISIBLE); views.setTextViewText(R.id.title, song.title); views.setTextViewText(R.id.artist, song.artist); - Bitmap cover = song.getCover(context); + Bitmap cover = song.getMediumCover(context); if (cover == null) { views.setViewVisibility(R.id.cover, View.INVISIBLE); } else { diff --git a/app/src/main/java/ch/blinkenlights/android/vanilla/MediaSessionTracker.java b/app/src/main/java/ch/blinkenlights/android/vanilla/MediaSessionTracker.java index fe41f39c..4660f1d4 100644 --- a/app/src/main/java/ch/blinkenlights/android/vanilla/MediaSessionTracker.java +++ b/app/src/main/java/ch/blinkenlights/android/vanilla/MediaSessionTracker.java @@ -114,7 +114,7 @@ public class MediaSessionTracker { .build(); if (song != null) { - final Bitmap cover = song.getCover(mContext); + final Bitmap cover = song.getMediumCover(mContext); MediaMetadataCompat.Builder metadataBuilder = new MediaMetadataCompat.Builder() .putString(MediaMetadataCompat.METADATA_KEY_ARTIST, song.artist) .putString(MediaMetadataCompat.METADATA_KEY_ALBUM, song.album) diff --git a/app/src/main/java/ch/blinkenlights/android/vanilla/OneCellWidget.java b/app/src/main/java/ch/blinkenlights/android/vanilla/OneCellWidget.java index 047f26db..7b013856 100644 --- a/app/src/main/java/ch/blinkenlights/android/vanilla/OneCellWidget.java +++ b/app/src/main/java/ch/blinkenlights/android/vanilla/OneCellWidget.java @@ -118,7 +118,7 @@ public class OneCellWidget extends AppWidgetProvider { views.setInt(R.id.title, "setText", R.string.app_name); } else { views.setTextViewText(R.id.title, song.title); - cover = song.getCover(context); + cover = song.getMediumCover(context); } if (cover == null) { diff --git a/app/src/main/java/ch/blinkenlights/android/vanilla/PlaybackService.java b/app/src/main/java/ch/blinkenlights/android/vanilla/PlaybackService.java index 0cdb42fc..56998735 100644 --- a/app/src/main/java/ch/blinkenlights/android/vanilla/PlaybackService.java +++ b/app/src/main/java/ch/blinkenlights/android/vanilla/PlaybackService.java @@ -2119,7 +2119,7 @@ public final class PlaybackService extends Service public Notification createNotification(Song song, int state, int mode) { final boolean playing = (state & FLAG_PLAYING) != 0; - final Bitmap cover = song.getCover(this); + final Bitmap cover = song.getMediumCover(this); ComponentName service = new ComponentName(this, PlaybackService.class); diff --git a/app/src/main/java/ch/blinkenlights/android/vanilla/RemoteControlImplICS.java b/app/src/main/java/ch/blinkenlights/android/vanilla/RemoteControlImplICS.java index 7d6ba823..2d185f32 100644 --- a/app/src/main/java/ch/blinkenlights/android/vanilla/RemoteControlImplICS.java +++ b/app/src/main/java/ch/blinkenlights/android/vanilla/RemoteControlImplICS.java @@ -138,7 +138,7 @@ public class RemoteControlImplICS implements RemoteControl.Client { editor.putString(MediaMetadataRetriever.METADATA_KEY_ALBUM, artist_album); editor.putString(MediaMetadataRetriever.METADATA_KEY_TITLE, song.title); - Bitmap bitmap = song.getCover(mContext); + Bitmap bitmap = song.getMediumCover(mContext); if (bitmap != null && mShowCover == 1 && (isPlaying || keepPaused)) { // Create a copy of the cover art, since RemoteControlClient likes // to recycle what we give it. diff --git a/app/src/main/java/ch/blinkenlights/android/vanilla/Song.java b/app/src/main/java/ch/blinkenlights/android/vanilla/Song.java index 20d93784..f667f778 100644 --- a/app/src/main/java/ch/blinkenlights/android/vanilla/Song.java +++ b/app/src/main/java/ch/blinkenlights/android/vanilla/Song.java @@ -232,10 +232,20 @@ public class Song implements Comparable { * @param context A context to use. * @return The album art or null if no album art could be found */ - public Bitmap getCover(Context context) { + public Bitmap getLargeCover(Context context) { return getCoverInternal(context, CoverCache.SIZE_LARGE); } + /** + * Query the medium album art for this song. + * + * @param context A context to use. + * @return The album art or null if no album art could be found + */ + public Bitmap getMediumCover(Context context) { + return getCoverInternal(context, CoverCache.SIZE_MEDIUM); + } + /** * Query the small album art for this song. * diff --git a/app/src/main/java/ch/blinkenlights/android/vanilla/WidgetD.java b/app/src/main/java/ch/blinkenlights/android/vanilla/WidgetD.java index 68947d97..92857b94 100644 --- a/app/src/main/java/ch/blinkenlights/android/vanilla/WidgetD.java +++ b/app/src/main/java/ch/blinkenlights/android/vanilla/WidgetD.java @@ -105,7 +105,7 @@ public class WidgetD extends AppWidgetProvider { views.setViewVisibility(R.id.buttons, View.VISIBLE); views.setTextViewText(R.id.title, song.title); views.setTextViewText(R.id.artist, song.artist); - cover = song.getCover(context); + cover = song.getMediumCover(context); } if (cover == null) {