Disabled disk cache for album covers

This commit is contained in:
Karim Abou Zeid 2016-01-03 01:02:27 +01:00
commit 2e5b17be38
16 changed files with 42 additions and 15 deletions

View file

@ -133,7 +133,7 @@ public class AlbumCoverPagerAdapter extends CustomFragmentStatePagerAdapter {
.loadFromMediaStore(MusicUtil.getAlbumArtUri(song.albumId)) .loadFromMediaStore(MusicUtil.getAlbumArtUri(song.albumId))
.asBitmap() .asBitmap()
.transcode(new BitmapPaletteTranscoder(getActivity()), BitmapPaletteWrapper.class) .transcode(new BitmapPaletteTranscoder(getActivity()), BitmapPaletteWrapper.class)
.diskCacheStrategy(DiskCacheStrategy.ALL) .diskCacheStrategy(DiskCacheStrategy.NONE)
.error(R.drawable.default_album_art) .error(R.drawable.default_album_art)
.signature(new MediaStoreSignature("", song.dateModified, 0)) .signature(new MediaStoreSignature("", song.dateModified, 0))
.into(new PhonographColoredTarget(albumCover) { .into(new PhonographColoredTarget(albumCover) {

View file

@ -99,7 +99,7 @@ public class SearchAdapter extends RecyclerView.Adapter<SearchAdapter.ViewHolder
holder.text.setText(album.getArtistName()); holder.text.setText(album.getArtistName());
Glide.with(activity) Glide.with(activity)
.loadFromMediaStore(MusicUtil.getAlbumArtUri(album.getId())) .loadFromMediaStore(MusicUtil.getAlbumArtUri(album.getId()))
.diskCacheStrategy(DiskCacheStrategy.ALL) .diskCacheStrategy(DiskCacheStrategy.NONE)
.error(R.drawable.default_album_art) .error(R.drawable.default_album_art)
.animate(android.R.anim.fade_in) .animate(android.R.anim.fade_in)
.signature(new MediaStoreSignature("", album.getDateModified(), 0)) .signature(new MediaStoreSignature("", album.getDateModified(), 0))
@ -111,7 +111,7 @@ public class SearchAdapter extends RecyclerView.Adapter<SearchAdapter.ViewHolder
holder.text.setText(MusicUtil.getArtistInfoString(activity, artist)); holder.text.setText(MusicUtil.getArtistInfoString(activity, artist));
Glide.with(activity) Glide.with(activity)
.load(new ArtistImageRequest(artist.name, false)) .load(new ArtistImageRequest(artist.name, false))
.diskCacheStrategy(DiskCacheStrategy.NONE) .diskCacheStrategy(DiskCacheStrategy.SOURCE)
.error(R.drawable.default_album_art) .error(R.drawable.default_album_art)
.animate(android.R.anim.fade_in) .animate(android.R.anim.fade_in)
.signature(ArtistSignatureUtil.getInstance(activity).getArtistSignature(artist.name)) .signature(ArtistSignatureUtil.getInstance(activity).getArtistSignature(artist.name))

View file

@ -124,7 +124,7 @@ public class AlbumAdapter extends AbsMultiSelectAdapter<AlbumAdapter.ViewHolder,
.loadFromMediaStore(MusicUtil.getAlbumArtUri(album.getId())) .loadFromMediaStore(MusicUtil.getAlbumArtUri(album.getId()))
.asBitmap() .asBitmap()
.transcode(new BitmapPaletteTranscoder(activity), BitmapPaletteWrapper.class) .transcode(new BitmapPaletteTranscoder(activity), BitmapPaletteWrapper.class)
.diskCacheStrategy(DiskCacheStrategy.ALL) .diskCacheStrategy(DiskCacheStrategy.NONE)
.error(R.drawable.default_album_art) .error(R.drawable.default_album_art)
.animate(android.R.anim.fade_in) .animate(android.R.anim.fade_in)
.signature(new MediaStoreSignature("", album.getDateModified(), 0)) .signature(new MediaStoreSignature("", album.getDateModified(), 0))

View file

@ -12,6 +12,7 @@ import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import com.bumptech.glide.Glide; import com.bumptech.glide.Glide;
import com.bumptech.glide.Priority;
import com.bumptech.glide.load.engine.DiskCacheStrategy; import com.bumptech.glide.load.engine.DiskCacheStrategy;
import com.kabouzeid.gramophone.R; import com.kabouzeid.gramophone.R;
import com.kabouzeid.gramophone.adapter.base.AbsMultiSelectAdapter; import com.kabouzeid.gramophone.adapter.base.AbsMultiSelectAdapter;
@ -123,9 +124,10 @@ public class ArtistAdapter extends AbsMultiSelectAdapter<ArtistAdapter.ViewHolde
.load(new ArtistImageRequest(artist.name, false)) .load(new ArtistImageRequest(artist.name, false))
.asBitmap() .asBitmap()
.transcode(new BitmapPaletteTranscoder(activity), BitmapPaletteWrapper.class) .transcode(new BitmapPaletteTranscoder(activity), BitmapPaletteWrapper.class)
.diskCacheStrategy(DiskCacheStrategy.ALL) .diskCacheStrategy(DiskCacheStrategy.SOURCE)
.error(R.drawable.default_album_art) .error(R.drawable.default_album_art)
.animate(android.R.anim.fade_in) .animate(android.R.anim.fade_in)
.priority(Priority.LOW)
.signature(ArtistSignatureUtil.getInstance(activity).getArtistSignature(artist.name)) .signature(ArtistSignatureUtil.getInstance(activity).getArtistSignature(artist.name))
.into(new PhonographColoredTarget(holder.image) { .into(new PhonographColoredTarget(holder.image) {
@Override @Override

View file

@ -77,7 +77,7 @@ public class ArtistSongAdapter extends ArrayAdapter<Song> implements MaterialCab
Glide.with(activity) Glide.with(activity)
.loadFromMediaStore(MusicUtil.getAlbumArtUri(song.albumId)) .loadFromMediaStore(MusicUtil.getAlbumArtUri(song.albumId))
.diskCacheStrategy(DiskCacheStrategy.ALL) .diskCacheStrategy(DiskCacheStrategy.NONE)
.error(R.drawable.default_album_art) .error(R.drawable.default_album_art)
.animate(android.R.anim.fade_in) .animate(android.R.anim.fade_in)
.signature(new MediaStoreSignature("", song.dateModified, 0)) .signature(new MediaStoreSignature("", song.dateModified, 0))

View file

@ -126,7 +126,7 @@ public class SongAdapter extends AbsMultiSelectAdapter<SongAdapter.ViewHolder, S
.loadFromMediaStore(MusicUtil.getAlbumArtUri(song.albumId)) .loadFromMediaStore(MusicUtil.getAlbumArtUri(song.albumId))
.asBitmap() .asBitmap()
.transcode(new BitmapPaletteTranscoder(activity), BitmapPaletteWrapper.class) .transcode(new BitmapPaletteTranscoder(activity), BitmapPaletteWrapper.class)
.diskCacheStrategy(DiskCacheStrategy.ALL) .diskCacheStrategy(DiskCacheStrategy.NONE)
.error(R.drawable.default_album_art) .error(R.drawable.default_album_art)
.animate(android.R.anim.fade_in) .animate(android.R.anim.fade_in)
.signature(new MediaStoreSignature("", song.dateModified, 0)) .signature(new MediaStoreSignature("", song.dateModified, 0))

View file

@ -89,7 +89,7 @@ public class WidgetMedium extends AppWidgetProvider {
Glide.with(context) Glide.with(context)
.loadFromMediaStore(MusicUtil.getAlbumArtUri(song.albumId)) .loadFromMediaStore(MusicUtil.getAlbumArtUri(song.albumId))
.asBitmap() .asBitmap()
.diskCacheStrategy(DiskCacheStrategy.ALL) .diskCacheStrategy(DiskCacheStrategy.NONE)
.signature(new MediaStoreSignature("", song.dateModified, 0)) .signature(new MediaStoreSignature("", song.dateModified, 0))
.into(target); .into(target);
} }

View file

@ -199,7 +199,7 @@ public class PlayingNotificationHelper {
.loadFromMediaStore(MusicUtil.getAlbumArtUri(currentSong.albumId)) .loadFromMediaStore(MusicUtil.getAlbumArtUri(currentSong.albumId))
.asBitmap() .asBitmap()
.transcode(new BitmapPaletteTranscoder(service), BitmapPaletteWrapper.class) .transcode(new BitmapPaletteTranscoder(service), BitmapPaletteWrapper.class)
.diskCacheStrategy(DiskCacheStrategy.ALL) .diskCacheStrategy(DiskCacheStrategy.NONE)
.signature(new MediaStoreSignature("", currentSong.dateModified, 0)) .signature(new MediaStoreSignature("", currentSong.dateModified, 0))
.into(target); .into(target);
} }

View file

@ -449,7 +449,7 @@ public class MusicService extends Service implements SharedPreferences.OnSharedP
final BitmapRequestBuilder request = Glide.with(MusicService.this) final BitmapRequestBuilder request = Glide.with(MusicService.this)
.loadFromMediaStore(MusicUtil.getAlbumArtUri(song.albumId)) .loadFromMediaStore(MusicUtil.getAlbumArtUri(song.albumId))
.asBitmap() .asBitmap()
.diskCacheStrategy(DiskCacheStrategy.ALL) .diskCacheStrategy(DiskCacheStrategy.NONE)
.signature(new MediaStoreSignature("", song.dateModified, 0)); .signature(new MediaStoreSignature("", song.dateModified, 0));
if (blurAlbumArt) { if (blurAlbumArt) {
request.transform(new BlurTransformation.Builder(MusicService.this).build()); request.transform(new BlurTransformation.Builder(MusicService.this).build());

View file

@ -158,7 +158,7 @@ public class AlbumDetailActivity extends AbsSlidingMusicPanelActivity implements
.loadFromMediaStore(MusicUtil.getAlbumArtUri(album.getId())) .loadFromMediaStore(MusicUtil.getAlbumArtUri(album.getId()))
.asBitmap() .asBitmap()
.transcode(new BitmapPaletteTranscoder(this), BitmapPaletteWrapper.class) .transcode(new BitmapPaletteTranscoder(this), BitmapPaletteWrapper.class)
.diskCacheStrategy(DiskCacheStrategy.ALL) .diskCacheStrategy(DiskCacheStrategy.NONE)
.error(R.drawable.default_album_art) .error(R.drawable.default_album_art)
.signature(new MediaStoreSignature("", album.getDateModified(), 0)) .signature(new MediaStoreSignature("", album.getDateModified(), 0))
.into(new PhonographColoredTarget(albumArtImageView) { .into(new PhonographColoredTarget(albumArtImageView) {

View file

@ -258,7 +258,7 @@ public class ArtistDetailActivity extends AbsSlidingMusicPanelActivity implement
.load(new ArtistImageRequest(artist.name, forceDownload)) .load(new ArtistImageRequest(artist.name, forceDownload))
.asBitmap() .asBitmap()
.transcode(new BitmapPaletteTranscoder(this), BitmapPaletteWrapper.class) .transcode(new BitmapPaletteTranscoder(this), BitmapPaletteWrapper.class)
.diskCacheStrategy(DiskCacheStrategy.ALL) .diskCacheStrategy(DiskCacheStrategy.SOURCE)
.error(R.drawable.default_album_art) .error(R.drawable.default_album_art)
.signature(ArtistSignatureUtil.getInstance(this).getArtistSignature(artist.name)) .signature(ArtistSignatureUtil.getInstance(this).getArtistSignature(artist.name))
.into(new PhonographColoredTarget(artistImage) { .into(new PhonographColoredTarget(artistImage) {

View file

@ -277,7 +277,7 @@ public class MainActivity extends AbsSlidingMusicPanelActivity
((TextView) navigationDrawerHeader.findViewById(R.id.text)).setText(song.artistName); ((TextView) navigationDrawerHeader.findViewById(R.id.text)).setText(song.artistName);
Glide.with(this) Glide.with(this)
.loadFromMediaStore(MusicUtil.getAlbumArtUri(song.albumId)) .loadFromMediaStore(MusicUtil.getAlbumArtUri(song.albumId))
.diskCacheStrategy(DiskCacheStrategy.ALL) .diskCacheStrategy(DiskCacheStrategy.NONE)
.error(R.drawable.default_album_art) .error(R.drawable.default_album_art)
.animate(android.R.anim.fade_in) .animate(android.R.anim.fade_in)
.signature(new MediaStoreSignature("", song.dateModified, 0)) .signature(new MediaStoreSignature("", song.dateModified, 0))

View file

@ -116,7 +116,7 @@ public class AlbumTagEditorActivity extends AbsTagEditorActivity implements Text
.load(url) .load(url)
.asBitmap() .asBitmap()
.transcode(new BitmapPaletteTranscoder(AlbumTagEditorActivity.this), BitmapPaletteWrapper.class) .transcode(new BitmapPaletteTranscoder(AlbumTagEditorActivity.this), BitmapPaletteWrapper.class)
.diskCacheStrategy(DiskCacheStrategy.ALL) .diskCacheStrategy(DiskCacheStrategy.SOURCE)
.error(R.drawable.default_album_art) .error(R.drawable.default_album_art)
.into(new SimpleTarget<BitmapPaletteWrapper>() { .into(new SimpleTarget<BitmapPaletteWrapper>() {
@Override @Override

View file

@ -47,7 +47,6 @@ public class PlayerAlbumCoverFragment extends AbsMusicServiceFragment implements
@Override @Override
public void onViewCreated(View view, Bundle savedInstanceState) { public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState); super.onViewCreated(view, savedInstanceState);
viewPager.setOffscreenPageLimit(2);
updatePlayingQueue(); updatePlayingQueue();
viewPager.addOnPageChangeListener(this); viewPager.addOnPageChangeListener(this);
viewPager.setOnTouchListener(new View.OnTouchListener() { viewPager.setOnTouchListener(new View.OnTouchListener() {

View file

@ -157,6 +157,11 @@ public class PlayerFragment extends AbsPlayerFragment implements PlayerAlbumCove
updateQueue(); updateQueue();
} }
@Override
public void onMediaStoreChanged() {
updateQueue();
}
private void updateQueue() { private void updateQueue() {
playingQueueAdapter.swapDataSet(MusicPlayerRemote.getPlayingQueue(), MusicPlayerRemote.getPosition()); playingQueueAdapter.swapDataSet(MusicPlayerRemote.getPlayingQueue(), MusicPlayerRemote.getPosition());
if (slidingUpPanelLayout.getPanelState() == SlidingUpPanelLayout.PanelState.COLLAPSED) { if (slidingUpPanelLayout.getPanelState() == SlidingUpPanelLayout.PanelState.COLLAPSED) {

View file

@ -14,6 +14,9 @@ import android.support.v7.graphics.Palette;
import com.kabouzeid.gramophone.R; import com.kabouzeid.gramophone.R;
import java.util.Collections;
import java.util.Comparator;
/** /**
* @author Karim Abou Zeid (kabouzeid) * @author Karim Abou Zeid (kabouzeid)
*/ */
@ -43,11 +46,29 @@ public class ColorUtil {
return palette.getLightVibrantSwatch().getRgb(); return palette.getLightVibrantSwatch().getRgb();
} else if (palette.getLightMutedSwatch() != null) { } else if (palette.getLightMutedSwatch() != null) {
return palette.getLightMutedSwatch().getRgb(); return palette.getLightMutedSwatch().getRgb();
} else if (palette.getSwatches() != null && !palette.getSwatches().isEmpty()) {
return Collections.max(palette.getSwatches(), SwatchComparator.getInstance()).getRgb();
} }
} }
return fallback; return fallback;
} }
private static class SwatchComparator implements Comparator<Palette.Swatch> {
private static SwatchComparator sInstance;
static SwatchComparator getInstance() {
if (sInstance == null) {
sInstance = new SwatchComparator();
}
return sInstance;
}
@Override
public int compare(Palette.Swatch lhs, Palette.Swatch rhs) {
return lhs.getPopulation() - rhs.getPopulation();
}
}
@ColorInt @ColorInt
public static int resolveColor(@NonNull Context context, @AttrRes int colorAttr) { public static int resolveColor(@NonNull Context context, @AttrRes int colorAttr) {
TypedArray a = context.obtainStyledAttributes(new int[]{colorAttr}); TypedArray a = context.obtainStyledAttributes(new int[]{colorAttr});