Added an option to turn off the color

This commit is contained in:
Materight 2017-06-06 15:37:41 +02:00
commit 2fa79c6d09
5 changed files with 66 additions and 3 deletions

View file

@ -1,5 +1,6 @@
package com.kabouzeid.gramophone.adapter.album;
import android.graphics.drawable.Drawable;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
@ -7,8 +8,11 @@ import android.support.v7.widget.CardView;
import android.view.View;
import android.view.ViewGroup;
import com.bumptech.glide.Glide;
import com.kabouzeid.appthemehelper.util.ColorUtil;
import com.kabouzeid.appthemehelper.util.MaterialValueHelper;
import com.kabouzeid.gramophone.glide.PhonographColoredTarget;
import com.kabouzeid.gramophone.glide.SongGlideRequest;
import com.kabouzeid.gramophone.helper.HorizontalAdapterHelper;
import com.kabouzeid.gramophone.interfaces.CabHolder;
import com.kabouzeid.gramophone.model.Album;
@ -21,8 +25,8 @@ import java.util.ArrayList;
public class HorizontalAlbumAdapter extends AlbumAdapter {
public static final String TAG = AlbumAdapter.class.getSimpleName();
public HorizontalAlbumAdapter(@NonNull AppCompatActivity activity, ArrayList<Album> dataSet, @Nullable CabHolder cabHolder) {
super(activity, dataSet, HorizontalAdapterHelper.LAYOUT_RES, true, cabHolder);
public HorizontalAlbumAdapter(@NonNull AppCompatActivity activity, ArrayList<Album> dataSet,boolean usePalette, @Nullable CabHolder cabHolder) {
super(activity, dataSet, HorizontalAdapterHelper.LAYOUT_RES, usePalette, cabHolder);
}
@Override
@ -46,6 +50,30 @@ public class HorizontalAlbumAdapter extends AlbumAdapter {
}
}
@Override
protected void loadAlbumCover(Album album, final ViewHolder holder) {
if (holder.image == null) return;
SongGlideRequest.Builder.from(Glide.with(activity), album.safeGetFirstSong())
.checkIgnoreMediaStore(activity)
.generatePalette(activity).build()
.into(new PhonographColoredTarget(holder.image) {
@Override
public void onLoadCleared(Drawable placeholder) {
super.onLoadCleared(placeholder);
setColors(getAlbumArtistFooterColor(), holder);
}
@Override
public void onColorReady(int color) {
if (usePalette)
setColors(color, holder);
else
setColors(getAlbumArtistFooterColor(), holder);
}
});
}
@Override
protected String getAlbumText(Album album) {
return String.valueOf(album.getYear());