Made some progress switching to glide
This commit is contained in:
parent
717ebf480a
commit
26cf5d8e0f
16 changed files with 255 additions and 355 deletions
|
|
@ -10,10 +10,11 @@ import android.view.ViewGroup;
|
|||
import android.widget.ImageView;
|
||||
|
||||
import com.bumptech.glide.Glide;
|
||||
import com.bumptech.glide.load.engine.DiskCacheStrategy;
|
||||
import com.kabouzeid.gramophone.R;
|
||||
import com.kabouzeid.gramophone.glide.BitmapPaletteTranscoder;
|
||||
import com.kabouzeid.gramophone.glide.BitmapPaletteWrapper;
|
||||
import com.kabouzeid.gramophone.glide.PhonographPaletteTarget;
|
||||
import com.kabouzeid.gramophone.glide.PhonographColoredTarget;
|
||||
import com.kabouzeid.gramophone.glide.palette.BitmapPaletteTranscoder;
|
||||
import com.kabouzeid.gramophone.glide.palette.BitmapPaletteWrapper;
|
||||
import com.kabouzeid.gramophone.misc.CustomFragmentStatePagerAdapter;
|
||||
import com.kabouzeid.gramophone.model.Song;
|
||||
import com.kabouzeid.gramophone.util.MusicUtil;
|
||||
|
|
@ -131,47 +132,14 @@ public class AlbumCoverPagerAdapter extends CustomFragmentStatePagerAdapter {
|
|||
.loadFromMediaStore(MusicUtil.getAlbumArtUri(song.albumId))
|
||||
.asBitmap()
|
||||
.transcode(new BitmapPaletteTranscoder(getActivity()), BitmapPaletteWrapper.class)
|
||||
.diskCacheStrategy(DiskCacheStrategy.NONE)
|
||||
.error(R.drawable.default_album_art)
|
||||
.into(new PhonographPaletteTarget(albumCover) {
|
||||
.into(new PhonographColoredTarget(albumCover) {
|
||||
@Override
|
||||
public void onColorReady(int color) {
|
||||
setColor(color);
|
||||
}
|
||||
});
|
||||
|
||||
// ImageLoader.getInstance().displayImage(
|
||||
// MusicUtil.getSongImageLoaderString(song),
|
||||
// albumCover,
|
||||
// new DisplayImageOptions.Builder()
|
||||
// .cacheInMemory(true)
|
||||
// .showImageOnFail(R.drawable.default_album_art)
|
||||
// .postProcessor(new BitmapProcessor() {
|
||||
// @Override
|
||||
// public Bitmap process(Bitmap bitmap) {
|
||||
// // don't use set color here, as this is not running on the ui-thread
|
||||
// color = ColorUtil.generateColor(getActivity(), bitmap);
|
||||
// return bitmap;
|
||||
// }
|
||||
// })
|
||||
// .build(),
|
||||
// new SimpleImageLoadingListener() {
|
||||
// @Override
|
||||
// public void onLoadingFailed(String imageUri, View view, @Nullable FailReason failReason) {
|
||||
// if (getActivity() != null) {
|
||||
// setColor(ColorUtil.resolveColor(getActivity(), R.attr.default_bar_color));
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public void onLoadingComplete(String imageUri, View view, @Nullable Bitmap loadedImage) {
|
||||
// if (loadedImage == null) {
|
||||
// onLoadingFailed(imageUri, view, null);
|
||||
// return;
|
||||
// }
|
||||
// setColor(color);
|
||||
// }
|
||||
// }
|
||||
// );
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -9,6 +9,8 @@ import android.view.LayoutInflater;
|
|||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import com.bumptech.glide.Glide;
|
||||
import com.bumptech.glide.load.engine.DiskCacheStrategy;
|
||||
import com.kabouzeid.gramophone.R;
|
||||
import com.kabouzeid.gramophone.adapter.base.MediaEntryViewHolder;
|
||||
import com.kabouzeid.gramophone.helper.MusicPlayerRemote;
|
||||
|
|
@ -22,8 +24,6 @@ import com.kabouzeid.gramophone.model.Song;
|
|||
import com.kabouzeid.gramophone.util.ColorUtil;
|
||||
import com.kabouzeid.gramophone.util.MusicUtil;
|
||||
import com.kabouzeid.gramophone.util.NavigationUtil;
|
||||
import com.nostra13.universalimageloader.core.DisplayImageOptions;
|
||||
import com.nostra13.universalimageloader.core.ImageLoader;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
|
|
@ -94,15 +94,11 @@ public class SearchAdapter extends RecyclerView.Adapter<SearchAdapter.ViewHolder
|
|||
final Album album = (Album) results.get(position);
|
||||
holder.title.setText(album.title);
|
||||
holder.text.setText(album.artistName);
|
||||
ImageLoader.getInstance().displayImage(
|
||||
MusicUtil.getAlbumImageLoaderString(album),
|
||||
holder.image,
|
||||
new DisplayImageOptions.Builder()
|
||||
.cacheInMemory(true)
|
||||
.showImageOnFail(R.drawable.default_album_art)
|
||||
.resetViewBeforeLoading(true)
|
||||
.build()
|
||||
);
|
||||
Glide.with(activity)
|
||||
.loadFromMediaStore(MusicUtil.getAlbumArtUri(album.id))
|
||||
.diskCacheStrategy(DiskCacheStrategy.NONE)
|
||||
.error(R.drawable.default_album_art)
|
||||
.into(holder.image);
|
||||
break;
|
||||
case ARTIST:
|
||||
final Artist artist = (Artist) results.get(position);
|
||||
|
|
@ -112,15 +108,16 @@ public class SearchAdapter extends RecyclerView.Adapter<SearchAdapter.ViewHolder
|
|||
holder.image.setImageResource(R.drawable.default_artist_image);
|
||||
break;
|
||||
}
|
||||
ImageLoader.getInstance().displayImage(MusicUtil.getArtistImageLoaderString(artist, false),
|
||||
holder.image,
|
||||
new DisplayImageOptions.Builder()
|
||||
.cacheInMemory(true)
|
||||
.cacheOnDisk(true)
|
||||
.resetViewBeforeLoading(true)
|
||||
.showImageOnFail(R.drawable.default_artist_image)
|
||||
.build()
|
||||
);
|
||||
// TODO Glide
|
||||
// ImageLoader.getInstance().displayImage(MusicUtil.getArtistImageLoaderString(artist, false),
|
||||
// holder.image,
|
||||
// new DisplayImageOptions.Builder()
|
||||
// .cacheInMemory(true)
|
||||
// .cacheOnDisk(true)
|
||||
// .resetViewBeforeLoading(true)
|
||||
// .showImageOnFail(R.drawable.default_artist_image)
|
||||
// .build()
|
||||
// );
|
||||
break;
|
||||
case SONG:
|
||||
final Song song = (Song) results.get(position);
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
package com.kabouzeid.gramophone.adapter.album;
|
||||
|
||||
import android.graphics.Bitmap;
|
||||
import android.support.annotation.LayoutRes;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.annotation.Nullable;
|
||||
|
|
@ -11,11 +10,16 @@ import android.view.MenuItem;
|
|||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import com.bumptech.glide.Glide;
|
||||
import com.bumptech.glide.load.engine.DiskCacheStrategy;
|
||||
import com.kabouzeid.gramophone.R;
|
||||
import com.kabouzeid.gramophone.adapter.base.AbsMultiSelectAdapter;
|
||||
import com.kabouzeid.gramophone.adapter.base.MediaEntryViewHolder;
|
||||
import com.kabouzeid.gramophone.dialogs.AddToPlaylistDialog;
|
||||
import com.kabouzeid.gramophone.dialogs.DeleteSongsDialog;
|
||||
import com.kabouzeid.gramophone.glide.PhonographColoredTarget;
|
||||
import com.kabouzeid.gramophone.glide.palette.BitmapPaletteTranscoder;
|
||||
import com.kabouzeid.gramophone.glide.palette.BitmapPaletteWrapper;
|
||||
import com.kabouzeid.gramophone.helper.MusicPlayerRemote;
|
||||
import com.kabouzeid.gramophone.interfaces.CabHolder;
|
||||
import com.kabouzeid.gramophone.loader.AlbumSongLoader;
|
||||
|
|
@ -24,14 +28,6 @@ import com.kabouzeid.gramophone.model.Song;
|
|||
import com.kabouzeid.gramophone.util.ColorUtil;
|
||||
import com.kabouzeid.gramophone.util.MusicUtil;
|
||||
import com.kabouzeid.gramophone.util.NavigationUtil;
|
||||
import com.nostra13.universalimageloader.core.DisplayImageOptions;
|
||||
import com.nostra13.universalimageloader.core.ImageLoader;
|
||||
import com.nostra13.universalimageloader.core.assist.FailReason;
|
||||
import com.nostra13.universalimageloader.core.assist.LoadedFrom;
|
||||
import com.nostra13.universalimageloader.core.display.FadeInBitmapDisplayer;
|
||||
import com.nostra13.universalimageloader.core.imageaware.ImageAware;
|
||||
import com.nostra13.universalimageloader.core.listener.SimpleImageLoadingListener;
|
||||
import com.nostra13.universalimageloader.core.process.BitmapProcessor;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
|
@ -114,38 +110,7 @@ public class AlbumAdapter extends AbsMultiSelectAdapter<AlbumAdapter.ViewHolder,
|
|||
holder.text.setText(getAlbumText(album));
|
||||
}
|
||||
|
||||
ImageLoader.getInstance().displayImage(
|
||||
getAlbumImageLoaderUri(album),
|
||||
holder.image,
|
||||
new DisplayImageOptions.Builder()
|
||||
.cacheInMemory(true)
|
||||
.showImageOnFail(R.drawable.default_album_art)
|
||||
.resetViewBeforeLoading(true)
|
||||
.postProcessor(new BitmapProcessor() {
|
||||
@Override
|
||||
public Bitmap process(Bitmap bitmap) {
|
||||
holder.paletteColor = ColorUtil.generateColor(activity, bitmap);
|
||||
return bitmap;
|
||||
}
|
||||
})
|
||||
.displayer(new FadeInBitmapDisplayer(FADE_IN_TIME, true, true, false) {
|
||||
@Override
|
||||
public void display(Bitmap bitmap, ImageAware imageAware, LoadedFrom loadedFrom) {
|
||||
super.display(bitmap, imageAware, loadedFrom);
|
||||
if (usePalette)
|
||||
setColors(holder.paletteColor, holder);
|
||||
}
|
||||
})
|
||||
.build(),
|
||||
new SimpleImageLoadingListener() {
|
||||
@Override
|
||||
public void onLoadingFailed(String imageUri, View view, FailReason failReason) {
|
||||
FadeInBitmapDisplayer.animate(view, FADE_IN_TIME);
|
||||
if (usePalette)
|
||||
setColors(defaultBarColor, holder);
|
||||
}
|
||||
}
|
||||
);
|
||||
loadAlbumCover(album, holder);
|
||||
}
|
||||
|
||||
private void setColors(int color, ViewHolder holder) {
|
||||
|
|
@ -160,6 +125,23 @@ public class AlbumAdapter extends AbsMultiSelectAdapter<AlbumAdapter.ViewHolder,
|
|||
}
|
||||
}
|
||||
|
||||
protected void loadAlbumCover(Album album, final ViewHolder holder) {
|
||||
if (holder.image == null) return;
|
||||
Glide.with(activity)
|
||||
.loadFromMediaStore(MusicUtil.getAlbumArtUri(album.id))
|
||||
.asBitmap()
|
||||
.transcode(new BitmapPaletteTranscoder(activity), BitmapPaletteWrapper.class)
|
||||
.diskCacheStrategy(DiskCacheStrategy.NONE)
|
||||
.error(R.drawable.default_album_art)
|
||||
.into(new PhonographColoredTarget(holder.image) {
|
||||
@Override
|
||||
public void onColorReady(int color) {
|
||||
if (usePalette)
|
||||
setColors(color, holder);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getItemCount() {
|
||||
return dataSet.size();
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
package com.kabouzeid.gramophone.adapter.artist;
|
||||
|
||||
import android.graphics.Bitmap;
|
||||
import android.support.annotation.LayoutRes;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.annotation.Nullable;
|
||||
|
|
@ -24,14 +23,6 @@ import com.kabouzeid.gramophone.model.Song;
|
|||
import com.kabouzeid.gramophone.util.ColorUtil;
|
||||
import com.kabouzeid.gramophone.util.MusicUtil;
|
||||
import com.kabouzeid.gramophone.util.NavigationUtil;
|
||||
import com.nostra13.universalimageloader.core.DisplayImageOptions;
|
||||
import com.nostra13.universalimageloader.core.ImageLoader;
|
||||
import com.nostra13.universalimageloader.core.assist.FailReason;
|
||||
import com.nostra13.universalimageloader.core.assist.LoadedFrom;
|
||||
import com.nostra13.universalimageloader.core.display.FadeInBitmapDisplayer;
|
||||
import com.nostra13.universalimageloader.core.imageaware.ImageAware;
|
||||
import com.nostra13.universalimageloader.core.listener.SimpleImageLoadingListener;
|
||||
import com.nostra13.universalimageloader.core.process.BitmapProcessor;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
|
@ -87,8 +78,8 @@ public class ArtistAdapter extends AbsMultiSelectAdapter<ArtistAdapter.ViewHolde
|
|||
public void onBindViewHolder(@NonNull final ViewHolder holder, int position) {
|
||||
final Artist artist = dataSet.get(position);
|
||||
|
||||
final int defaultBarColor = ColorUtil.resolveColor(activity, R.attr.default_bar_color);
|
||||
setColors(defaultBarColor, holder);
|
||||
// final int defaultBarColor = ColorUtil.resolveColor(activity, R.attr.default_bar_color);
|
||||
// setColors(defaultBarColor, holder);
|
||||
|
||||
boolean isChecked = isChecked(artist);
|
||||
holder.itemView.setActivated(isChecked);
|
||||
|
|
@ -104,42 +95,7 @@ public class ArtistAdapter extends AbsMultiSelectAdapter<ArtistAdapter.ViewHolde
|
|||
}
|
||||
holder.itemView.setActivated(isChecked(artist));
|
||||
|
||||
if (holder.image == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
ImageLoader.getInstance().displayImage(MusicUtil.getArtistImageLoaderString(artist, false),
|
||||
holder.image,
|
||||
new DisplayImageOptions.Builder()
|
||||
.cacheInMemory(true)
|
||||
.cacheOnDisk(true)
|
||||
.resetViewBeforeLoading(true)
|
||||
.showImageOnFail(R.drawable.default_artist_image)
|
||||
.postProcessor(new BitmapProcessor() {
|
||||
@Override
|
||||
public Bitmap process(Bitmap bitmap) {
|
||||
holder.paletteColor = ColorUtil.generateColor(activity, bitmap);
|
||||
return bitmap;
|
||||
}
|
||||
})
|
||||
.displayer(new FadeInBitmapDisplayer(FADE_IN_TIME, true, true, false) {
|
||||
@Override
|
||||
public void display(Bitmap bitmap, ImageAware imageAware, LoadedFrom loadedFrom) {
|
||||
super.display(bitmap, imageAware, loadedFrom);
|
||||
if (usePalette)
|
||||
setColors(holder.paletteColor, holder);
|
||||
}
|
||||
})
|
||||
.build(),
|
||||
new SimpleImageLoadingListener() {
|
||||
@Override
|
||||
public void onLoadingFailed(String imageUri, View view, FailReason failReason) {
|
||||
FadeInBitmapDisplayer.animate(view, FADE_IN_TIME);
|
||||
if (usePalette)
|
||||
setColors(defaultBarColor, holder);
|
||||
}
|
||||
}
|
||||
);
|
||||
loadArtistImage(artist, holder);
|
||||
}
|
||||
|
||||
private void setColors(int color, ViewHolder holder) {
|
||||
|
|
@ -154,6 +110,43 @@ public class ArtistAdapter extends AbsMultiSelectAdapter<ArtistAdapter.ViewHolde
|
|||
}
|
||||
}
|
||||
|
||||
protected void loadArtistImage(Artist artist, final ViewHolder holder) {
|
||||
if (holder.image == null) return;
|
||||
//TODO Glide
|
||||
// ImageLoader.getInstance().displayImage(MusicUtil.getArtistImageLoaderString(artist, false),
|
||||
// holder.image,
|
||||
// new DisplayImageOptions.Builder()
|
||||
// .cacheInMemory(true)
|
||||
// .cacheOnDisk(true)
|
||||
// .resetViewBeforeLoading(true)
|
||||
// .showImageOnFail(R.drawable.default_artist_image)
|
||||
// .postProcessor(new BitmapProcessor() {
|
||||
// @Override
|
||||
// public Bitmap process(Bitmap bitmap) {
|
||||
// holder.paletteColor = ColorUtil.generateColor(activity, bitmap);
|
||||
// return bitmap;
|
||||
// }
|
||||
// })
|
||||
// .displayer(new FadeInBitmapDisplayer(FADE_IN_TIME, true, true, false) {
|
||||
// @Override
|
||||
// public void display(Bitmap bitmap, ImageAware imageAware, LoadedFrom loadedFrom) {
|
||||
// super.display(bitmap, imageAware, loadedFrom);
|
||||
// if (usePalette)
|
||||
// setColors(holder.paletteColor, holder);
|
||||
// }
|
||||
// })
|
||||
// .build(),
|
||||
// new SimpleImageLoadingListener() {
|
||||
// @Override
|
||||
// public void onLoadingFailed(String imageUri, View view, FailReason failReason) {
|
||||
// FadeInBitmapDisplayer.animate(view, FADE_IN_TIME);
|
||||
// if (usePalette)
|
||||
// setColors(ColorUtil.resolveColor(activity, R.attr.default_bar_color), holder);
|
||||
// }
|
||||
// }
|
||||
// );
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getItemCount() {
|
||||
return dataSet.size();
|
||||
|
|
|
|||
|
|
@ -64,4 +64,9 @@ public class AlbumSongAdapter extends SongAdapter {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void loadAlbumCover(Song song, SongAdapter.ViewHolder holder) {
|
||||
// We don't want to load it in this adapter
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -64,7 +64,7 @@ public class PlayingQueueAdapter extends SongAdapter implements DraggableItemAda
|
|||
|
||||
@Override
|
||||
protected void loadAlbumCover(Song song, SongAdapter.ViewHolder holder) {
|
||||
// We don't need to load it in this adapter
|
||||
// We don't want to load it in this adapter
|
||||
}
|
||||
|
||||
public void swapDataSet(ArrayList<Song> dataSet, int position) {
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
package com.kabouzeid.gramophone.adapter.song;
|
||||
|
||||
import android.graphics.Bitmap;
|
||||
import android.support.annotation.LayoutRes;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.annotation.Nullable;
|
||||
|
|
@ -12,11 +11,16 @@ import android.view.View;
|
|||
import android.view.ViewGroup;
|
||||
|
||||
import com.afollestad.materialcab.MaterialCab;
|
||||
import com.bumptech.glide.Glide;
|
||||
import com.bumptech.glide.load.engine.DiskCacheStrategy;
|
||||
import com.kabouzeid.gramophone.R;
|
||||
import com.kabouzeid.gramophone.adapter.base.AbsMultiSelectAdapter;
|
||||
import com.kabouzeid.gramophone.adapter.base.MediaEntryViewHolder;
|
||||
import com.kabouzeid.gramophone.dialogs.AddToPlaylistDialog;
|
||||
import com.kabouzeid.gramophone.dialogs.DeleteSongsDialog;
|
||||
import com.kabouzeid.gramophone.glide.PhonographColoredTarget;
|
||||
import com.kabouzeid.gramophone.glide.palette.BitmapPaletteTranscoder;
|
||||
import com.kabouzeid.gramophone.glide.palette.BitmapPaletteWrapper;
|
||||
import com.kabouzeid.gramophone.helper.MusicPlayerRemote;
|
||||
import com.kabouzeid.gramophone.helper.menu.SongMenuHelper;
|
||||
import com.kabouzeid.gramophone.interfaces.CabHolder;
|
||||
|
|
@ -24,14 +28,6 @@ import com.kabouzeid.gramophone.model.Song;
|
|||
import com.kabouzeid.gramophone.util.ColorUtil;
|
||||
import com.kabouzeid.gramophone.util.MusicUtil;
|
||||
import com.kabouzeid.gramophone.util.NavigationUtil;
|
||||
import com.nostra13.universalimageloader.core.DisplayImageOptions;
|
||||
import com.nostra13.universalimageloader.core.ImageLoader;
|
||||
import com.nostra13.universalimageloader.core.assist.FailReason;
|
||||
import com.nostra13.universalimageloader.core.assist.LoadedFrom;
|
||||
import com.nostra13.universalimageloader.core.display.FadeInBitmapDisplayer;
|
||||
import com.nostra13.universalimageloader.core.imageaware.ImageAware;
|
||||
import com.nostra13.universalimageloader.core.listener.SimpleImageLoadingListener;
|
||||
import com.nostra13.universalimageloader.core.process.BitmapProcessor;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
|
|
@ -93,7 +89,7 @@ public class SongAdapter extends AbsMultiSelectAdapter<SongAdapter.ViewHolder, S
|
|||
public void onBindViewHolder(@NonNull final ViewHolder holder, int position) {
|
||||
final Song song = dataSet.get(position);
|
||||
|
||||
setColors(ColorUtil.resolveColor(activity, R.attr.default_bar_color), holder);
|
||||
// setColors(ColorUtil.resolveColor(activity, R.attr.default_bar_color), holder);
|
||||
|
||||
boolean isChecked = isChecked(song);
|
||||
holder.itemView.setActivated(isChecked);
|
||||
|
|
@ -126,38 +122,19 @@ public class SongAdapter extends AbsMultiSelectAdapter<SongAdapter.ViewHolder, S
|
|||
|
||||
protected void loadAlbumCover(Song song, final ViewHolder holder) {
|
||||
if (holder.image == null) return;
|
||||
ImageLoader.getInstance().displayImage(
|
||||
getSongImageLoaderUri(song),
|
||||
holder.image,
|
||||
new DisplayImageOptions.Builder()
|
||||
.cacheInMemory(true)
|
||||
.showImageOnFail(R.drawable.default_album_art)
|
||||
.resetViewBeforeLoading(true)
|
||||
.postProcessor(new BitmapProcessor() {
|
||||
@Override
|
||||
public Bitmap process(Bitmap bitmap) {
|
||||
holder.paletteColor = ColorUtil.generateColor(activity, bitmap);
|
||||
return bitmap;
|
||||
}
|
||||
})
|
||||
.displayer(new FadeInBitmapDisplayer(FADE_IN_TIME, true, true, false) {
|
||||
@Override
|
||||
public void display(Bitmap bitmap, ImageAware imageAware, LoadedFrom loadedFrom) {
|
||||
super.display(bitmap, imageAware, loadedFrom);
|
||||
if (usePalette)
|
||||
setColors(holder.paletteColor, holder);
|
||||
}
|
||||
})
|
||||
.build(),
|
||||
new SimpleImageLoadingListener() {
|
||||
Glide.with(activity)
|
||||
.loadFromMediaStore(MusicUtil.getAlbumArtUri(song.albumId))
|
||||
.asBitmap()
|
||||
.transcode(new BitmapPaletteTranscoder(activity), BitmapPaletteWrapper.class)
|
||||
.diskCacheStrategy(DiskCacheStrategy.NONE)
|
||||
.error(R.drawable.default_album_art)
|
||||
.into(new PhonographColoredTarget(holder.image) {
|
||||
@Override
|
||||
public void onLoadingFailed(String imageUri, View view, FailReason failReason) {
|
||||
FadeInBitmapDisplayer.animate(view, FADE_IN_TIME);
|
||||
public void onColorReady(int color) {
|
||||
if (usePalette)
|
||||
setColors(ColorUtil.resolveColor(activity, R.attr.default_bar_color), holder);
|
||||
setColors(color, holder);
|
||||
}
|
||||
}
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
protected String getSongTitle(Song song) {
|
||||
|
|
|
|||
|
|
@ -5,23 +5,21 @@ import android.widget.ImageView;
|
|||
|
||||
import com.bumptech.glide.request.animation.GlideAnimation;
|
||||
import com.kabouzeid.gramophone.R;
|
||||
import com.kabouzeid.gramophone.glide.palette.BitmapPaletteTarget;
|
||||
import com.kabouzeid.gramophone.glide.palette.BitmapPaletteWrapper;
|
||||
import com.kabouzeid.gramophone.util.ColorUtil;
|
||||
|
||||
import hugo.weaving.DebugLog;
|
||||
|
||||
public abstract class PhonographPaletteTarget extends BitmapPaletteTarget {
|
||||
public PhonographPaletteTarget(ImageView view) {
|
||||
public abstract class PhonographColoredTarget extends BitmapPaletteTarget {
|
||||
public PhonographColoredTarget(ImageView view) {
|
||||
super(view);
|
||||
}
|
||||
|
||||
@DebugLog
|
||||
@Override
|
||||
public void onLoadFailed(Exception e, Drawable errorDrawable) {
|
||||
super.onLoadFailed(e, errorDrawable);
|
||||
onColorReady(getDefaultBarColor());
|
||||
}
|
||||
|
||||
@DebugLog
|
||||
@Override
|
||||
public void onResourceReady(BitmapPaletteWrapper resource, GlideAnimation<? super BitmapPaletteWrapper> glideAnimation) {
|
||||
super.onResourceReady(resource, glideAnimation);
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.kabouzeid.gramophone.glide;
|
||||
package com.kabouzeid.gramophone.glide.palette;
|
||||
|
||||
import com.bumptech.glide.load.engine.Resource;
|
||||
import com.bumptech.glide.load.engine.bitmap_recycle.BitmapPool;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.kabouzeid.gramophone.glide;
|
||||
package com.kabouzeid.gramophone.glide.palette;
|
||||
|
||||
import android.widget.ImageView;
|
||||
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.kabouzeid.gramophone.glide;
|
||||
package com.kabouzeid.gramophone.glide.palette;
|
||||
|
||||
import android.content.Context;
|
||||
import android.graphics.Bitmap;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.kabouzeid.gramophone.glide;
|
||||
package com.kabouzeid.gramophone.glide.palette;
|
||||
|
||||
import android.graphics.Bitmap;
|
||||
import android.support.v7.graphics.Palette;
|
||||
|
|
@ -10,7 +10,6 @@ import android.content.IntentFilter;
|
|||
import android.content.SharedPreferences;
|
||||
import android.database.ContentObserver;
|
||||
import android.graphics.Bitmap;
|
||||
import android.graphics.Point;
|
||||
import android.media.AudioManager;
|
||||
import android.media.MediaMetadataRetriever;
|
||||
import android.media.RemoteControlClient;
|
||||
|
|
@ -28,7 +27,6 @@ import android.preference.PreferenceManager;
|
|||
import android.provider.MediaStore;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.annotation.Nullable;
|
||||
import android.view.View;
|
||||
import android.widget.Toast;
|
||||
|
||||
import com.kabouzeid.gramophone.R;
|
||||
|
|
@ -36,22 +34,12 @@ import com.kabouzeid.gramophone.appwidget.WidgetMedium;
|
|||
import com.kabouzeid.gramophone.helper.PlayingNotificationHelper;
|
||||
import com.kabouzeid.gramophone.helper.ShuffleHelper;
|
||||
import com.kabouzeid.gramophone.helper.StopWatch;
|
||||
import com.kabouzeid.gramophone.imageloader.BlurProcessor;
|
||||
import com.kabouzeid.gramophone.model.Song;
|
||||
import com.kabouzeid.gramophone.provider.HistoryStore;
|
||||
import com.kabouzeid.gramophone.provider.MusicPlaybackQueueStore;
|
||||
import com.kabouzeid.gramophone.provider.SongPlayCountStore;
|
||||
import com.kabouzeid.gramophone.util.MusicUtil;
|
||||
import com.kabouzeid.gramophone.util.PreferenceUtil;
|
||||
import com.kabouzeid.gramophone.util.Util;
|
||||
import com.nostra13.universalimageloader.core.DisplayImageOptions;
|
||||
import com.nostra13.universalimageloader.core.ImageLoader;
|
||||
import com.nostra13.universalimageloader.core.assist.FailReason;
|
||||
import com.nostra13.universalimageloader.core.assist.ImageSize;
|
||||
import com.nostra13.universalimageloader.core.assist.ViewScaleType;
|
||||
import com.nostra13.universalimageloader.core.imageaware.NonViewAware;
|
||||
import com.nostra13.universalimageloader.core.listener.SimpleImageLoadingListener;
|
||||
import com.nostra13.universalimageloader.core.process.BitmapProcessor;
|
||||
|
||||
import java.lang.ref.WeakReference;
|
||||
import java.util.ArrayList;
|
||||
|
|
@ -142,23 +130,24 @@ public class MusicService extends Service implements SharedPreferences.OnSharedP
|
|||
private boolean notHandledMetaChangedForCurrentTrack;
|
||||
private boolean isServiceInUse;
|
||||
|
||||
private BlurProcessor blurProcessor = new BlurProcessor.Builder(this).build();
|
||||
// we don't want to hand our bitmap to the remote control client, as it will recycle it
|
||||
private BitmapProcessor copyProcessor = new BitmapProcessor() {
|
||||
@Override
|
||||
public Bitmap process(Bitmap bitmap) {
|
||||
Bitmap.Config config = bitmap.getConfig();
|
||||
if (config == null) {
|
||||
config = Bitmap.Config.ARGB_8888;
|
||||
}
|
||||
try {
|
||||
return bitmap.copy(config, false);
|
||||
} catch (OutOfMemoryError e) {
|
||||
e.printStackTrace();
|
||||
return null;
|
||||
}
|
||||
}
|
||||
};
|
||||
// TODO Glide
|
||||
// private BlurProcessor blurProcessor = new BlurProcessor.Builder(this).build();
|
||||
// // we don't want to hand our bitmap to the remote control client, as it will recycle it
|
||||
// private BitmapProcessor copyProcessor = new BitmapProcessor() {
|
||||
// @Override
|
||||
// public Bitmap process(Bitmap bitmap) {
|
||||
// Bitmap.Config config = bitmap.getConfig();
|
||||
// if (config == null) {
|
||||
// config = Bitmap.Config.ARGB_8888;
|
||||
// }
|
||||
// try {
|
||||
// return bitmap.copy(config, false);
|
||||
// } catch (OutOfMemoryError e) {
|
||||
// e.printStackTrace();
|
||||
// return null;
|
||||
// }
|
||||
// }
|
||||
// };
|
||||
|
||||
private static String getTrackUri(@NonNull Song song) {
|
||||
return MusicUtil.getSongUri(song.id).toString();
|
||||
|
|
@ -461,27 +450,44 @@ public class MusicService extends Service implements SharedPreferences.OnSharedP
|
|||
.putLong(MediaMetadataRetriever.METADATA_KEY_DURATION, song.duration)
|
||||
.apply();
|
||||
if (showAlbumArt) {
|
||||
final String currentAlbumArtUri = MusicUtil.getSongImageLoaderString(song);
|
||||
Point screenSize = Util.getScreenSize(this);
|
||||
ImageLoader.getInstance().displayImage(
|
||||
currentAlbumArtUri,
|
||||
new NonViewAware(new ImageSize(screenSize.x, screenSize.y), ViewScaleType.CROP),
|
||||
new DisplayImageOptions.Builder().postProcessor(blurAlbumArt ? blurProcessor : copyProcessor).build(),
|
||||
new SimpleImageLoadingListener() {
|
||||
@Override
|
||||
public void onLoadingComplete(String imageUri, View view, @Nullable Bitmap loadedImage) {
|
||||
if (currentAlbumArtUri.equals(imageUri)) {
|
||||
updateRemoteControlClientBitmap(loadedImage);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onLoadingFailed(String imageUri, View view, FailReason failReason) {
|
||||
if (currentAlbumArtUri.equals(imageUri)) {
|
||||
updateRemoteControlClientBitmap(null);
|
||||
}
|
||||
}
|
||||
});
|
||||
// ImageLoader.getInstance().displayImage(
|
||||
// currentAlbumArtUri,
|
||||
// new NonViewAware(new ImageSize(screenSize.x, screenSize.y), ViewScaleType.CROP),
|
||||
// new DisplayImageOptions.Builder().postProcessor(blurAlbumArt ? blurProcessor : copyProcessor).build(),
|
||||
// new SimpleImageLoadingListener() {
|
||||
// @Override
|
||||
// public void onLoadingComplete(String imageUri, View view, @Nullable Bitmap loadedImage) {
|
||||
// if (currentAlbumArtUri.equals(imageUri)) {
|
||||
// updateRemoteControlClientBitmap(loadedImage);
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public void onLoadingFailed(String imageUri, View view, FailReason failReason) {
|
||||
// if (currentAlbumArtUri.equals(imageUri)) {
|
||||
// updateRemoteControlClientBitmap(null);
|
||||
// }
|
||||
// }
|
||||
// });
|
||||
// NOTE THIS MIGHT NOT BE THE UI THREAD
|
||||
// Point screenSize = Util.getScreenSize(this);
|
||||
// Glide.with(this)
|
||||
// .loadFromMediaStore(MusicUtil.getAlbumArtUri(song.albumId))
|
||||
// .asBitmap()
|
||||
// // TODO transformations
|
||||
// .into(new SimpleTarget<Bitmap>(screenSize.x, screenSize.y) {
|
||||
// @Override
|
||||
// public void onLoadFailed(Exception e, Drawable errorDrawable) {
|
||||
// super.onLoadFailed(e, errorDrawable);
|
||||
// updateRemoteControlClientBitmap(null);
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public void onResourceReady(Bitmap resource, GlideAnimation<? super Bitmap> glideAnimation) {
|
||||
// updateRemoteControlClientBitmap(resource);
|
||||
// }
|
||||
// });
|
||||
} else {
|
||||
updateRemoteControlClientBitmap(null);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,11 +1,10 @@
|
|||
package com.kabouzeid.gramophone.ui.activities;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.graphics.Bitmap;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.annotation.Nullable;
|
||||
import android.support.v7.widget.GridLayoutManager;
|
||||
import android.support.v7.widget.RecyclerView;
|
||||
import android.support.v7.widget.Toolbar;
|
||||
|
|
@ -17,10 +16,16 @@ import android.widget.TextView;
|
|||
|
||||
import com.afollestad.materialcab.MaterialCab;
|
||||
import com.afollestad.materialdialogs.util.DialogUtils;
|
||||
import com.bumptech.glide.Glide;
|
||||
import com.bumptech.glide.load.engine.DiskCacheStrategy;
|
||||
import com.bumptech.glide.request.animation.GlideAnimation;
|
||||
import com.github.ksoichiro.android.observablescrollview.ObservableRecyclerView;
|
||||
import com.kabouzeid.gramophone.R;
|
||||
import com.kabouzeid.gramophone.adapter.song.AlbumSongAdapter;
|
||||
import com.kabouzeid.gramophone.dialogs.SleepTimerDialog;
|
||||
import com.kabouzeid.gramophone.glide.PhonographColoredTarget;
|
||||
import com.kabouzeid.gramophone.glide.palette.BitmapPaletteTranscoder;
|
||||
import com.kabouzeid.gramophone.glide.palette.BitmapPaletteWrapper;
|
||||
import com.kabouzeid.gramophone.helper.MusicPlayerRemote;
|
||||
import com.kabouzeid.gramophone.interfaces.CabHolder;
|
||||
import com.kabouzeid.gramophone.interfaces.PaletteColorHolder;
|
||||
|
|
@ -36,11 +41,6 @@ import com.kabouzeid.gramophone.util.ColorUtil;
|
|||
import com.kabouzeid.gramophone.util.MusicUtil;
|
||||
import com.kabouzeid.gramophone.util.NavigationUtil;
|
||||
import com.kabouzeid.gramophone.util.Util;
|
||||
import com.nostra13.universalimageloader.core.DisplayImageOptions;
|
||||
import com.nostra13.universalimageloader.core.ImageLoader;
|
||||
import com.nostra13.universalimageloader.core.assist.FailReason;
|
||||
import com.nostra13.universalimageloader.core.listener.SimpleImageLoadingListener;
|
||||
import com.nostra13.universalimageloader.core.process.BitmapProcessor;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
|
|
@ -157,59 +157,43 @@ public class AlbumDetailActivity extends AbsSlidingMusicPanelActivity implements
|
|||
}
|
||||
|
||||
private void setUpAlbumArtAndApplyPalette() {
|
||||
ImageLoader.getInstance().displayImage(
|
||||
MusicUtil.getAlbumImageLoaderString(album),
|
||||
albumArtImageView,
|
||||
new DisplayImageOptions.Builder()
|
||||
.cacheInMemory(true)
|
||||
.showImageOnFail(R.drawable.default_album_art)
|
||||
.resetViewBeforeLoading(true)
|
||||
.postProcessor(new BitmapProcessor() {
|
||||
@Override
|
||||
public Bitmap process(Bitmap bitmap) {
|
||||
final int color = ColorUtil.generateColor(AlbumDetailActivity.this, bitmap);
|
||||
runOnUiThread(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
setColors(color);
|
||||
}
|
||||
});
|
||||
return bitmap;
|
||||
}
|
||||
})
|
||||
.build(),
|
||||
new SimpleImageLoadingListener() {
|
||||
Glide.with(this)
|
||||
.loadFromMediaStore(MusicUtil.getAlbumArtUri(album.id))
|
||||
.asBitmap()
|
||||
.transcode(new BitmapPaletteTranscoder(this), BitmapPaletteWrapper.class)
|
||||
.diskCacheStrategy(DiskCacheStrategy.NONE)
|
||||
.error(R.drawable.default_album_art)
|
||||
.into(new PhonographColoredTarget(albumArtImageView) {
|
||||
@Override
|
||||
public void onLoadingFailed(String imageUri, View view, @Nullable FailReason failReason) {
|
||||
setColors(ColorUtil.resolveColor(AlbumDetailActivity.this, R.attr.default_bar_color));
|
||||
|
||||
public void onResourceReady(BitmapPaletteWrapper resource, GlideAnimation<? super BitmapPaletteWrapper> glideAnimation) {
|
||||
super.onResourceReady(resource, glideAnimation);
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP)
|
||||
startPostponedEnterTransition();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onLoadingComplete(String imageUri, View view, @Nullable Bitmap loadedImage) {
|
||||
if (loadedImage == null) {
|
||||
onLoadingFailed(imageUri, view, null);
|
||||
return;
|
||||
}
|
||||
|
||||
public void onLoadFailed(Exception e, Drawable errorDrawable) {
|
||||
super.onLoadFailed(e, errorDrawable);
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP)
|
||||
startPostponedEnterTransition();
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
@Override
|
||||
public void onColorReady(int color) {
|
||||
setColors(color);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void setColors(int vibrantColor) {
|
||||
toolbarColor = vibrantColor;
|
||||
albumTitleView.setBackgroundColor(vibrantColor);
|
||||
albumTitleView.setTextColor(ColorUtil.getPrimaryTextColorForBackground(this, vibrantColor));
|
||||
private void setColors(int color) {
|
||||
toolbarColor = color;
|
||||
albumTitleView.setBackgroundColor(color);
|
||||
albumTitleView.setTextColor(ColorUtil.getPrimaryTextColorForBackground(this, color));
|
||||
|
||||
if (shouldColorNavigationBar())
|
||||
setNavigationBarColor(vibrantColor);
|
||||
setNavigationBarColor(color);
|
||||
|
||||
notifyTaskColorChange(vibrantColor);
|
||||
notifyTaskColorChange(color);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
package com.kabouzeid.gramophone.ui.activities;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.graphics.Bitmap;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.support.annotation.NonNull;
|
||||
|
|
@ -41,14 +40,8 @@ import com.kabouzeid.gramophone.model.Artist;
|
|||
import com.kabouzeid.gramophone.model.Song;
|
||||
import com.kabouzeid.gramophone.ui.activities.base.AbsSlidingMusicPanelActivity;
|
||||
import com.kabouzeid.gramophone.util.ColorUtil;
|
||||
import com.kabouzeid.gramophone.util.MusicUtil;
|
||||
import com.kabouzeid.gramophone.util.NavigationUtil;
|
||||
import com.kabouzeid.gramophone.util.Util;
|
||||
import com.nostra13.universalimageloader.core.DisplayImageOptions;
|
||||
import com.nostra13.universalimageloader.core.ImageLoader;
|
||||
import com.nostra13.universalimageloader.core.assist.FailReason;
|
||||
import com.nostra13.universalimageloader.core.listener.SimpleImageLoadingListener;
|
||||
import com.nostra13.universalimageloader.core.process.BitmapProcessor;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
|
|
@ -249,52 +242,53 @@ public class ArtistDetailActivity extends AbsSlidingMusicPanelActivity implement
|
|||
}
|
||||
|
||||
private void setUpArtistImageAndApplyPalette(final boolean forceDownload) {
|
||||
ImageLoader.getInstance().displayImage(MusicUtil.getArtistImageLoaderString(artist, forceDownload),
|
||||
artistImage,
|
||||
new DisplayImageOptions.Builder()
|
||||
.cacheInMemory(true)
|
||||
.cacheOnDisk(true)
|
||||
.showImageOnFail(R.drawable.default_artist_image)
|
||||
.resetViewBeforeLoading(true)
|
||||
.postProcessor(new BitmapProcessor() {
|
||||
@Override
|
||||
public Bitmap process(Bitmap bitmap) {
|
||||
final int color = ColorUtil.generateColor(ArtistDetailActivity.this, bitmap);
|
||||
runOnUiThread(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
setColors(color);
|
||||
}
|
||||
});
|
||||
return bitmap;
|
||||
}
|
||||
})
|
||||
.build(),
|
||||
new SimpleImageLoadingListener() {
|
||||
@Override
|
||||
public void onLoadingFailed(String imageUri, View view, @Nullable FailReason failReason) {
|
||||
setColors(ColorUtil.resolveColor(ArtistDetailActivity.this, R.attr.default_bar_color));
|
||||
|
||||
toastUpdatedArtistImageIfDownloadWasForced();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onLoadingComplete(String imageUri, View view, @Nullable Bitmap loadedImage) {
|
||||
if (loadedImage == null) {
|
||||
onLoadingFailed(imageUri, view, null);
|
||||
return;
|
||||
}
|
||||
|
||||
toastUpdatedArtistImageIfDownloadWasForced();
|
||||
}
|
||||
|
||||
private void toastUpdatedArtistImageIfDownloadWasForced() {
|
||||
if (forceDownload) {
|
||||
Toast.makeText(ArtistDetailActivity.this, getString(R.string.updated_artist_image), Toast.LENGTH_SHORT).show();
|
||||
}
|
||||
}
|
||||
}
|
||||
);
|
||||
// TODO Glide
|
||||
// ImageLoader.getInstance().displayImage(MusicUtil.getArtistImageLoaderString(artist, forceDownload),
|
||||
// artistImage,
|
||||
// new DisplayImageOptions.Builder()
|
||||
// .cacheInMemory(true)
|
||||
// .cacheOnDisk(true)
|
||||
// .showImageOnFail(R.drawable.default_artist_image)
|
||||
// .resetViewBeforeLoading(true)
|
||||
// .postProcessor(new BitmapProcessor() {
|
||||
// @Override
|
||||
// public Bitmap process(Bitmap bitmap) {
|
||||
// final int color = ColorUtil.generateColor(ArtistDetailActivity.this, bitmap);
|
||||
// runOnUiThread(new Runnable() {
|
||||
// @Override
|
||||
// public void run() {
|
||||
// setColors(color);
|
||||
// }
|
||||
// });
|
||||
// return bitmap;
|
||||
// }
|
||||
// })
|
||||
// .build(),
|
||||
// new SimpleImageLoadingListener() {
|
||||
// @Override
|
||||
// public void onLoadingFailed(String imageUri, View view, @Nullable FailReason failReason) {
|
||||
// setColors(ColorUtil.resolveColor(ArtistDetailActivity.this, R.attr.default_bar_color));
|
||||
//
|
||||
// toastUpdatedArtistImageIfDownloadWasForced();
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public void onLoadingComplete(String imageUri, View view, @Nullable Bitmap loadedImage) {
|
||||
// if (loadedImage == null) {
|
||||
// onLoadingFailed(imageUri, view, null);
|
||||
// return;
|
||||
// }
|
||||
//
|
||||
// toastUpdatedArtistImageIfDownloadWasForced();
|
||||
// }
|
||||
//
|
||||
// private void toastUpdatedArtistImageIfDownloadWasForced() {
|
||||
// if (forceDownload) {
|
||||
// Toast.makeText(ArtistDetailActivity.this, getString(R.string.updated_artist_image), Toast.LENGTH_SHORT).show();
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// );
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -35,6 +35,8 @@ import android.widget.TextView;
|
|||
|
||||
import com.afollestad.materialcab.MaterialCab;
|
||||
import com.afollestad.materialdialogs.internal.ThemeSingleton;
|
||||
import com.bumptech.glide.Glide;
|
||||
import com.bumptech.glide.load.engine.DiskCacheStrategy;
|
||||
import com.kabouzeid.gramophone.R;
|
||||
import com.kabouzeid.gramophone.adapter.PagerAdapter;
|
||||
import com.kabouzeid.gramophone.dialogs.ChangelogDialog;
|
||||
|
|
@ -60,8 +62,6 @@ import com.kabouzeid.gramophone.util.NavigationUtil;
|
|||
import com.kabouzeid.gramophone.util.PreferenceUtil;
|
||||
import com.kabouzeid.gramophone.util.Util;
|
||||
import com.kabouzeid.gramophone.util.ViewUtil;
|
||||
import com.nostra13.universalimageloader.core.DisplayImageOptions;
|
||||
import com.nostra13.universalimageloader.core.ImageLoader;
|
||||
import com.sothree.slidinguppanel.SlidingUpPanelLayout;
|
||||
|
||||
import java.io.File;
|
||||
|
|
@ -274,15 +274,11 @@ public class MainActivity extends AbsSlidingMusicPanelActivity
|
|||
}
|
||||
((TextView) navigationDrawerHeader.findViewById(R.id.title)).setText(song.title);
|
||||
((TextView) navigationDrawerHeader.findViewById(R.id.text)).setText(song.artistName);
|
||||
ImageLoader.getInstance().displayImage(
|
||||
MusicUtil.getSongImageLoaderString(song),
|
||||
((ImageView) navigationDrawerHeader.findViewById(R.id.image)),
|
||||
new DisplayImageOptions.Builder()
|
||||
.cacheInMemory(true)
|
||||
.showImageOnFail(R.drawable.default_album_art)
|
||||
.resetViewBeforeLoading(true)
|
||||
.build()
|
||||
);
|
||||
Glide.with(this)
|
||||
.loadFromMediaStore(MusicUtil.getAlbumArtUri(song.albumId))
|
||||
.diskCacheStrategy(DiskCacheStrategy.NONE)
|
||||
.error(R.drawable.default_album_art)
|
||||
.into(((ImageView) navigationDrawerHeader.findViewById(R.id.image)));
|
||||
} else {
|
||||
if (navigationDrawerHeader != null) {
|
||||
navigationView.removeHeaderView(navigationDrawerHeader);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue