From dfa1191d12ee7ace5ba89176c295af99f42f554a Mon Sep 17 00:00:00 2001 From: Scott Jackson Date: Wed, 3 Dec 2014 12:17:44 -0800 Subject: #395 Copy Subsonic's default album art --- res/layout/abstract_fragment_activity.xml | 3 +- res/layout/album_cell_item.xml | 3 +- res/layout/album_list_item.xml | 3 +- res/layout/select_album_header.xml | 1 - src/github/daneren2005/dsub/util/ImageLoader.java | 111 ++++++++++++++-------- 5 files changed, 74 insertions(+), 47 deletions(-) diff --git a/res/layout/abstract_fragment_activity.xml b/res/layout/abstract_fragment_activity.xml index 0702397f..0268ff87 100644 --- a/res/layout/abstract_fragment_activity.xml +++ b/res/layout/abstract_fragment_activity.xml @@ -23,8 +23,7 @@ android:layout_width="50dip" android:layout_height="50dip" android:layout_gravity="left|center" - android:scaleType="fitStart" - android:src="@drawable/unknown_album"/> + android:scaleType="fitStart"/> + android:layout_height="match_parent"/> + android:layout_gravity="left|center_vertical"/> loadImage(Context context, RemoteControlClient remoteControl, MusicDirectory.Entry entry) { - if (largeUnknownImage != null && ((BitmapDrawable)largeUnknownImage).getBitmap().isRecycled()) { - createLargeUnknownImage(context); - } - + Bitmap bitmap; if (entry == null || entry.getCoverArt() == null) { - setUnknownImage(remoteControl); + bitmap = getUnknownImage(entry, imageSizeLarge); + setImage(remoteControl, Util.createDrawableFromBitmap(context, bitmap)); return null; } - Bitmap bitmap = cache.get(getKey(entry.getCoverArt(), imageSizeLarge)); + bitmap = cache.get(getKey(entry.getCoverArt(), imageSizeLarge)); if (bitmap != null && !bitmap.isRecycled()) { Drawable drawable = Util.createDrawableFromBitmap(this.context, bitmap); setImage(remoteControl, drawable); return null; } - setUnknownImage(remoteControl); + bitmap = getUnknownImage(entry, imageSizeLarge); + setImage(remoteControl, Util.createDrawableFromBitmap(context, bitmap)); ImageTask task = new RemoteControlClientImageTask(context, entry, imageSizeLarge, imageSizeLarge, false, remoteControl); task.execute(); return task; @@ -239,6 +285,7 @@ public class ImageLoader { } } + @TargetApi(Build.VERSION_CODES.ICE_CREAM_SANDWICH) private void setImage(RemoteControlClient remoteControl, Drawable drawable) { if(remoteControl != null && drawable != null) { Bitmap origBitmap = ((BitmapDrawable)drawable).getBitmap(); @@ -256,22 +303,6 @@ public class ImageLoader { } } - private void setUnknownImage(View view, boolean large) { - if (large) { - setImage(view, largeUnknownImage, false); - } else { - if (view instanceof TextView) { - ((TextView) view).setCompoundDrawablesWithIntrinsicBounds(R.drawable.unknown_album, 0, 0, 0); - } else if (view instanceof ImageView) { - ((ImageView) view).setImageResource(R.drawable.unknown_album); - } - } - } - - private void setUnknownImage(RemoteControlClient remoteControl) { - setImage(remoteControl, largeUnknownImage); - } - public abstract class ImageTask extends SilentBackgroundTask { private final Context mContext; private final MusicDirectory.Entry mEntry; -- cgit v1.2.3