Enabled all caches and added custom signatures

This commit is contained in:
Karim Abou Zeid 2015-04-23 19:25:30 +02:00
commit 744d5e12a6
17 changed files with 69 additions and 40 deletions

View file

@ -14,12 +14,12 @@ import android.widget.TextView;
import com.afollestad.materialdialogs.util.DialogUtils; import com.afollestad.materialdialogs.util.DialogUtils;
import com.bumptech.glide.Glide; import com.bumptech.glide.Glide;
import com.bumptech.glide.load.engine.DiskCacheStrategy;
import com.bumptech.glide.load.resource.bitmap.GlideBitmapDrawable; import com.bumptech.glide.load.resource.bitmap.GlideBitmapDrawable;
import com.bumptech.glide.load.resource.drawable.GlideDrawable; import com.bumptech.glide.load.resource.drawable.GlideDrawable;
import com.bumptech.glide.request.Request; import com.bumptech.glide.request.Request;
import com.bumptech.glide.request.RequestListener; import com.bumptech.glide.request.RequestListener;
import com.bumptech.glide.request.target.Target; import com.bumptech.glide.request.target.Target;
import com.bumptech.glide.signature.StringSignature;
import com.kabouzeid.gramophone.App; import com.kabouzeid.gramophone.App;
import com.kabouzeid.gramophone.R; import com.kabouzeid.gramophone.R;
import com.kabouzeid.gramophone.loader.AlbumLoader; import com.kabouzeid.gramophone.loader.AlbumLoader;
@ -71,7 +71,7 @@ public class AlbumAdapter extends RecyclerView.Adapter<AlbumAdapter.ViewHolder>
holder.albumArt.setTag( holder.albumArt.setTag(
Glide.with(activity) Glide.with(activity)
.loadFromMediaStore(MusicUtil.getAlbumArtUri(album.id)) .loadFromMediaStore(MusicUtil.getAlbumArtUri(album.id))
.diskCacheStrategy(DiskCacheStrategy.NONE) .signature(new StringSignature(album.albumArtPath))
.error(R.drawable.default_album_art) .error(R.drawable.default_album_art)
.placeholder(R.drawable.default_album_art) .placeholder(R.drawable.default_album_art)
.listener(new RequestListener<Uri, GlideDrawable>() { .listener(new RequestListener<Uri, GlideDrawable>() {

View file

@ -10,8 +10,8 @@ import android.widget.ImageView;
import android.widget.TextView; import android.widget.TextView;
import com.bumptech.glide.Glide; import com.bumptech.glide.Glide;
import com.bumptech.glide.load.engine.DiskCacheStrategy;
import com.bumptech.glide.request.Request; import com.bumptech.glide.request.Request;
import com.bumptech.glide.signature.StringSignature;
import com.kabouzeid.gramophone.R; import com.kabouzeid.gramophone.R;
import com.kabouzeid.gramophone.model.Album; import com.kabouzeid.gramophone.model.Album;
import com.kabouzeid.gramophone.ui.activities.base.AbsFabActivity; import com.kabouzeid.gramophone.ui.activities.base.AbsFabActivity;
@ -61,7 +61,7 @@ public class ArtistAlbumAdapter extends RecyclerView.Adapter<ArtistAlbumAdapter.
holder.albumArt.setTag(Glide.with(activity) holder.albumArt.setTag(Glide.with(activity)
.loadFromMediaStore(MusicUtil.getAlbumArtUri(album.id)) .loadFromMediaStore(MusicUtil.getAlbumArtUri(album.id))
.diskCacheStrategy(DiskCacheStrategy.NONE) .signature(new StringSignature(album.albumArtPath))
.error(R.drawable.default_album_art) .error(R.drawable.default_album_art)
.placeholder(R.drawable.default_album_art) .placeholder(R.drawable.default_album_art)
.into(holder.albumArt) .into(holder.albumArt)

View file

@ -12,7 +12,7 @@ import android.widget.PopupMenu;
import android.widget.TextView; import android.widget.TextView;
import com.bumptech.glide.Glide; import com.bumptech.glide.Glide;
import com.bumptech.glide.load.engine.DiskCacheStrategy; import com.bumptech.glide.signature.StringSignature;
import com.kabouzeid.gramophone.R; import com.kabouzeid.gramophone.R;
import com.kabouzeid.gramophone.helper.MenuItemClickHelper; import com.kabouzeid.gramophone.helper.MenuItemClickHelper;
import com.kabouzeid.gramophone.model.Song; import com.kabouzeid.gramophone.model.Song;
@ -50,7 +50,7 @@ public class ArtistSongAdapter extends ArrayAdapter<Song> {
Glide.with(activity) Glide.with(activity)
.loadFromMediaStore(MusicUtil.getAlbumArtUri(song.albumId)) .loadFromMediaStore(MusicUtil.getAlbumArtUri(song.albumId))
.diskCacheStrategy(DiskCacheStrategy.NONE) .signature(new StringSignature(String.valueOf(song.dateModified)))
.error(R.drawable.default_album_art) .error(R.drawable.default_album_art)
.placeholder(R.drawable.default_album_art) .placeholder(R.drawable.default_album_art)
.into(albumArt); .into(albumArt);

View file

@ -12,8 +12,8 @@ import android.widget.PopupMenu;
import android.widget.TextView; import android.widget.TextView;
import com.bumptech.glide.Glide; import com.bumptech.glide.Glide;
import com.bumptech.glide.load.engine.DiskCacheStrategy;
import com.bumptech.glide.request.Request; import com.bumptech.glide.request.Request;
import com.bumptech.glide.signature.StringSignature;
import com.kabouzeid.gramophone.R; import com.kabouzeid.gramophone.R;
import com.kabouzeid.gramophone.helper.MenuItemClickHelper; import com.kabouzeid.gramophone.helper.MenuItemClickHelper;
import com.kabouzeid.gramophone.helper.MusicPlayerRemote; import com.kabouzeid.gramophone.helper.MusicPlayerRemote;
@ -65,7 +65,7 @@ public class PlaylistSongAdapter extends RecyclerView.Adapter<PlaylistSongAdapte
holder.albumArt.setTag( holder.albumArt.setTag(
Glide.with(activity) Glide.with(activity)
.loadFromMediaStore(MusicUtil.getAlbumArtUri(song.albumId)) .loadFromMediaStore(MusicUtil.getAlbumArtUri(song.albumId))
.diskCacheStrategy(DiskCacheStrategy.NONE) .signature(new StringSignature(String.valueOf(song.dateModified)))
.error(R.drawable.default_album_art) .error(R.drawable.default_album_art)
.placeholder(R.drawable.default_album_art) .placeholder(R.drawable.default_album_art)
.into(holder.albumArt) .into(holder.albumArt)

View file

@ -14,8 +14,8 @@ import android.widget.TextView;
import com.afollestad.materialdialogs.ThemeSingleton; import com.afollestad.materialdialogs.ThemeSingleton;
import com.bumptech.glide.Glide; import com.bumptech.glide.Glide;
import com.bumptech.glide.load.engine.DiskCacheStrategy;
import com.bumptech.glide.request.Request; import com.bumptech.glide.request.Request;
import com.bumptech.glide.signature.StringSignature;
import com.kabouzeid.gramophone.App; import com.kabouzeid.gramophone.App;
import com.kabouzeid.gramophone.R; import com.kabouzeid.gramophone.R;
import com.kabouzeid.gramophone.helper.MenuItemClickHelper; import com.kabouzeid.gramophone.helper.MenuItemClickHelper;
@ -81,7 +81,7 @@ public class SongAdapter extends RecyclerView.Adapter<SongAdapter.ViewHolder> {
holder.albumArt.setTag( holder.albumArt.setTag(
Glide.with(activity) Glide.with(activity)
.loadFromMediaStore(MusicUtil.getAlbumArtUri(song.albumId)) .loadFromMediaStore(MusicUtil.getAlbumArtUri(song.albumId))
.diskCacheStrategy(DiskCacheStrategy.NONE) .signature(new StringSignature(String.valueOf(song.dateModified)))
.error(R.drawable.default_album_art) .error(R.drawable.default_album_art)
.placeholder(R.drawable.default_album_art) .placeholder(R.drawable.default_album_art)
.into(holder.albumArt) .into(holder.albumArt)

View file

@ -27,8 +27,9 @@ public class AlbumLoader {
final int artistId = cursor.getInt(3); final int artistId = cursor.getInt(3);
final int songCount = cursor.getInt(4); final int songCount = cursor.getInt(4);
final int year = cursor.getInt(5); final int year = cursor.getInt(5);
final String albumArtPath = cursor.getString(6);
final Album album = new Album(id, albumName, artist, artistId, songCount, year); final Album album = new Album(id, albumName, artist, artistId, songCount, year, albumArtPath);
albums.add(album); albums.add(album);
} while (cursor.moveToNext()); } while (cursor.moveToNext());
} }
@ -56,7 +57,9 @@ public class AlbumLoader {
/* 4 */ /* 4 */
MediaStore.Audio.AlbumColumns.NUMBER_OF_SONGS, MediaStore.Audio.AlbumColumns.NUMBER_OF_SONGS,
/* 5 */ /* 5 */
MediaStore.Audio.AlbumColumns.FIRST_YEAR MediaStore.Audio.AlbumColumns.FIRST_YEAR,
/* 6 */
MediaStore.Audio.AlbumColumns.ALBUM_ART
}, selection, values, PreferenceUtils.getInstance(context).getAlbumSortOrder()); }, selection, values, PreferenceUtils.getInstance(context).getAlbumSortOrder());
} }
@ -70,8 +73,9 @@ public class AlbumLoader {
final int artistId = cursor.getInt(3); final int artistId = cursor.getInt(3);
final int songCount = cursor.getInt(4); final int songCount = cursor.getInt(4);
final int year = cursor.getInt(5); final int year = cursor.getInt(5);
final String albumArtPath = cursor.getString(6);
album = new Album(id, albumName, artist, artistId, songCount, year); album = new Album(id, albumName, artist, artistId, songCount, year, albumArtPath);
} }
if (cursor != null) { if (cursor != null) {
@ -91,8 +95,9 @@ public class AlbumLoader {
final int artistId = cursor.getInt(3); final int artistId = cursor.getInt(3);
final int songCount = cursor.getInt(4); final int songCount = cursor.getInt(4);
final int year = cursor.getInt(5); final int year = cursor.getInt(5);
final String albumArtPath = cursor.getString(6);
final Album album = new Album(id, albumName, artist, artistId, songCount, year); final Album album = new Album(id, albumName, artist, artistId, songCount, year, albumArtPath);
albums.add(album); albums.add(album);
} while (cursor.moveToNext()); } while (cursor.moveToNext());
} }

View file

@ -27,8 +27,9 @@ public class AlbumSongLoader {
final long duration = cursor.getLong(4); final long duration = cursor.getLong(4);
final int trackNumber = cursor.getInt(5); final int trackNumber = cursor.getInt(5);
final int artistId = cursor.getInt(6); final int artistId = cursor.getInt(6);
final long dateModified = cursor.getInt(7);
final Song song = new Song(id, albumId, artistId, songName, artist, album, duration, trackNumber); final Song song = new Song(id, albumId, artistId, songName, artist, album, duration, trackNumber, dateModified);
songs.add(song); songs.add(song);
} while (cursor.moveToNext()); } while (cursor.moveToNext());
} }
@ -53,7 +54,9 @@ public class AlbumSongLoader {
/* 5 */ /* 5 */
MediaStore.Audio.AudioColumns.TRACK, MediaStore.Audio.AudioColumns.TRACK,
/* 6 */ /* 6 */
MediaStore.Audio.AudioColumns.ARTIST_ID MediaStore.Audio.AudioColumns.ARTIST_ID,
/* 7 */
MediaStore.Audio.AudioColumns.DATE_MODIFIED
}, (MediaStore.Audio.AudioColumns.IS_MUSIC + "=1") + " AND " + }, (MediaStore.Audio.AudioColumns.IS_MUSIC + "=1") + " AND " +
MediaStore.Audio.AudioColumns.TITLE + " != ''" + " AND " + MediaStore.Audio.AudioColumns.TITLE + " != ''" + " AND " +
MediaStore.Audio.AudioColumns.ALBUM_ID + "=" + albumId, null, MediaStore.Audio.AudioColumns.ALBUM_ID + "=" + albumId, null,

View file

@ -26,8 +26,9 @@ public class ArtistAlbumLoader {
final String artist = cursor.getString(2); final String artist = cursor.getString(2);
final int songCount = cursor.getInt(3); final int songCount = cursor.getInt(3);
final int year = cursor.getInt(4); final int year = cursor.getInt(4);
final String albumArtPath = cursor.getString(5);
final Album album = new Album(id, albumName, artist, artistId, songCount, year); final Album album = new Album(id, albumName, artist, artistId, songCount, year, albumArtPath);
albums.add(album); albums.add(album);
} while (cursor.moveToNext()); } while (cursor.moveToNext());
} }
@ -49,7 +50,9 @@ public class ArtistAlbumLoader {
/* 3 */ /* 3 */
MediaStore.Audio.AlbumColumns.NUMBER_OF_SONGS, MediaStore.Audio.AlbumColumns.NUMBER_OF_SONGS,
/* 4 */ /* 4 */
MediaStore.Audio.AlbumColumns.FIRST_YEAR MediaStore.Audio.AlbumColumns.FIRST_YEAR,
/* 5 */
MediaStore.Audio.AlbumColumns.ALBUM_ART
}, null, null, PreferenceUtils.getInstance(context).getArtistAlbumSortOrder()); }, null, null, PreferenceUtils.getInstance(context).getArtistAlbumSortOrder());
} }
} }

View file

@ -27,8 +27,9 @@ public class ArtistSongLoader {
final long duration = cursor.getLong(4); final long duration = cursor.getLong(4);
final int trackNumber = cursor.getInt(5); final int trackNumber = cursor.getInt(5);
final int albumId = cursor.getInt(6); final int albumId = cursor.getInt(6);
final long dateModified = cursor.getInt(7);
final Song song = new Song(id, albumId, artistId, songName, artist, album, duration, trackNumber); final Song song = new Song(id, albumId, artistId, songName, artist, album, duration, trackNumber, dateModified);
songs.add(song); songs.add(song);
} while (cursor.moveToNext()); } while (cursor.moveToNext());
} }
@ -53,7 +54,9 @@ public class ArtistSongLoader {
/* 5 */ /* 5 */
MediaStore.Audio.AudioColumns.TRACK, MediaStore.Audio.AudioColumns.TRACK,
/* 6 */ /* 6 */
MediaStore.Audio.AudioColumns.ALBUM_ID MediaStore.Audio.AudioColumns.ALBUM_ID,
/* 7 */
MediaStore.Audio.AudioColumns.DATE_MODIFIED
}, (MediaStore.Audio.AudioColumns.IS_MUSIC + "=1") + " AND " + }, (MediaStore.Audio.AudioColumns.IS_MUSIC + "=1") + " AND " +
MediaStore.Audio.AudioColumns.TITLE + " != ''" + " AND " + MediaStore.Audio.AudioColumns.TITLE + " != ''" + " AND " +
MediaStore.Audio.AudioColumns.ARTIST_ID + "=" + artistId, null, MediaStore.Audio.AudioColumns.ARTIST_ID + "=" + artistId, null,

View file

@ -26,8 +26,9 @@ public class PlaylistSongLoader {
final int albumId = cursor.getInt(6); final int albumId = cursor.getInt(6);
final int artistId = cursor.getInt(7); final int artistId = cursor.getInt(7);
final int idInPlaylist = cursor.getInt(8); final int idInPlaylist = cursor.getInt(8);
final long dateModified = cursor.getInt(9);
final PlaylistSong song = new PlaylistSong(id, albumId, artistId, songName, artist, album, duration, trackNumber, playlistID, idInPlaylist); final PlaylistSong song = new PlaylistSong(id, albumId, artistId, songName, artist, album, duration, trackNumber, playlistID, idInPlaylist, dateModified);
songs.add(song); songs.add(song);
} while (cursor.moveToNext()); } while (cursor.moveToNext());
@ -59,7 +60,9 @@ public class PlaylistSongLoader {
/* 7 */ /* 7 */
AudioColumns.ARTIST_ID, AudioColumns.ARTIST_ID,
/* 8 */ /* 8 */
MediaStore.Audio.Playlists.Members._ID MediaStore.Audio.Playlists.Members._ID,
/* 9 */
MediaStore.Audio.AudioColumns.DATE_MODIFIED
}, (AudioColumns.IS_MUSIC + "=1") + " AND " + AudioColumns.TITLE + " != ''", null, }, (AudioColumns.IS_MUSIC + "=1") + " AND " + AudioColumns.TITLE + " != ''", null,
MediaStore.Audio.Playlists.Members.DEFAULT_SORT_ORDER); MediaStore.Audio.Playlists.Members.DEFAULT_SORT_ORDER);
} }

View file

@ -30,8 +30,9 @@ public class SongLoader {
final int trackNumber = cursor.getInt(5); final int trackNumber = cursor.getInt(5);
final int artistId = cursor.getInt(6); final int artistId = cursor.getInt(6);
final int albumId = cursor.getInt(7); final int albumId = cursor.getInt(7);
final long dateModified = cursor.getInt(8);
final Song song = new Song(id, albumId, artistId, songName, artist, album, duration, trackNumber); final Song song = new Song(id, albumId, artistId, songName, artist, album, duration, trackNumber, dateModified);
songs.add(song); songs.add(song);
} while (cursor.moveToNext()); } while (cursor.moveToNext());
} }
@ -67,7 +68,9 @@ public class SongLoader {
/* 6 */ /* 6 */
MediaStore.Audio.AudioColumns.ARTIST_ID, MediaStore.Audio.AudioColumns.ARTIST_ID,
/* 7 */ /* 7 */
MediaStore.Audio.AudioColumns.ALBUM_ID MediaStore.Audio.AudioColumns.ALBUM_ID,
/* 8 */
MediaStore.Audio.AudioColumns.DATE_MODIFIED
}, finalSelection, values, PreferenceUtils.getInstance(context).getSongSortOrder()); }, finalSelection, values, PreferenceUtils.getInstance(context).getSongSortOrder());
} }
@ -84,8 +87,9 @@ public class SongLoader {
final int trackNumber = cursor.getInt(5); final int trackNumber = cursor.getInt(5);
final int artistId = cursor.getInt(6); final int artistId = cursor.getInt(6);
final int albumId = cursor.getInt(7); final int albumId = cursor.getInt(7);
final long dateModified = cursor.getInt(8);
final Song song = new Song(id, albumId, artistId, songName, artist, album, duration, trackNumber); final Song song = new Song(id, albumId, artistId, songName, artist, album, duration, trackNumber, dateModified);
songs.add(song); songs.add(song);
} while (cursor.moveToNext()); } while (cursor.moveToNext());
} }
@ -107,7 +111,8 @@ public class SongLoader {
final int trackNumber = cursor.getInt(5); final int trackNumber = cursor.getInt(5);
final int artistId = cursor.getInt(6); final int artistId = cursor.getInt(6);
final int albumId = cursor.getInt(7); final int albumId = cursor.getInt(7);
song = new Song(id, albumId, artistId, songName, artist, album, duration, trackNumber); final long dateModified = cursor.getInt(8);
song = new Song(id, albumId, artistId, songName, artist, album, duration, trackNumber, dateModified);
} }
if (cursor != null) { if (cursor != null) {
cursor.close(); cursor.close();

View file

@ -6,27 +6,31 @@ package com.kabouzeid.gramophone.model;
public class Album { public class Album {
public final int id; public final int id;
public int artistId; public final int artistId;
public final String title; public final String title;
public final String artistName; public final String artistName;
public final int songCount; public final int songCount;
public final int year; public final int year;
public final String albumArtPath; //used as cache key
public Album(final int id, final String title, final String artistName, final int artistId, public Album(final int id, final String title, final String artistName, final int artistId,
final int songNumber, final int albumYear) { final int songNumber, final int albumYear, final String albumArtPath) {
this.id = id; this.id = id;
this.title = title; this.title = title;
this.artistName = artistName; this.artistName = artistName;
this.artistId = artistId; this.artistId = artistId;
songCount = songNumber; songCount = songNumber;
year = albumYear; year = albumYear;
this.albumArtPath = albumArtPath != null ? albumArtPath : "";
} }
public Album() { public Album() {
this.id = -1; this.id = -1;
this.title = ""; this.title = "";
this.artistName = ""; this.artistName = "";
this.artistId = -1;
songCount = -1; songCount = -1;
year = -1; year = -1;
this.albumArtPath = "";
} }
} }

View file

@ -2,11 +2,11 @@ package com.kabouzeid.gramophone.model;
public class PlaylistSong extends Song { public class PlaylistSong extends Song {
public final int playlistId; public final int playlistId;
public int idInPlayList; public final int idInPlayList;
public PlaylistSong(final int id, final int albumId, final int artistId, final String title, final String artistName, public PlaylistSong(final int id, final int albumId, final int artistId, final String title, final String artistName,
final String albumName, final long duration, final int trackNumber, final int playlistId, final int idInPlayList) { final String albumName, final long duration, final int trackNumber, final int playlistId, final int idInPlayList, final long dateModified) {
super(id, albumId, artistId, title, artistName, albumName, duration, trackNumber); super(id, albumId, artistId, title, artistName, albumName, duration, trackNumber, dateModified);
this.playlistId = playlistId; this.playlistId = playlistId;
this.idInPlayList = idInPlayList; this.idInPlayList = idInPlayList;
} }
@ -14,6 +14,6 @@ public class PlaylistSong extends Song {
public PlaylistSong() { public PlaylistSong() {
super(); super();
playlistId = -1; playlistId = -1;
id = -1; idInPlayList = -1;
} }
} }

View file

@ -7,7 +7,7 @@ import java.io.Serializable;
*/ */
public class Song implements Serializable { public class Song implements Serializable {
public int id; public final int id;
public final int albumId; public final int albumId;
public final int artistId; public final int artistId;
public final String title; public final String title;
@ -15,9 +15,10 @@ public class Song implements Serializable {
public final String albumName; public final String albumName;
public final long duration; public final long duration;
public final int trackNumber; public final int trackNumber;
public final long dateModified; //used as cache key
public Song(final int id, final int albumId, final int artistId, final String title, final String artistName, public Song(final int id, final int albumId, final int artistId, final String title, final String artistName,
final String albumName, final long duration, final int trackNumber) { final String albumName, final long duration, final int trackNumber, final long dateModified) {
this.id = id; this.id = id;
this.albumId = albumId; this.albumId = albumId;
this.artistId = artistId; this.artistId = artistId;
@ -26,6 +27,7 @@ public class Song implements Serializable {
this.albumName = albumName; this.albumName = albumName;
this.duration = duration; this.duration = duration;
this.trackNumber = trackNumber; this.trackNumber = trackNumber;
this.dateModified = dateModified;
} }
public Song() { public Song() {
@ -37,5 +39,6 @@ public class Song implements Serializable {
this.albumName = ""; this.albumName = "";
this.duration = -1; this.duration = -1;
this.trackNumber = -1; this.trackNumber = -1;
this.dateModified = -1;
} }
} }

View file

@ -19,11 +19,11 @@ import android.widget.TextView;
import com.afollestad.materialdialogs.util.DialogUtils; import com.afollestad.materialdialogs.util.DialogUtils;
import com.bumptech.glide.Glide; import com.bumptech.glide.Glide;
import com.bumptech.glide.load.engine.DiskCacheStrategy;
import com.bumptech.glide.load.resource.bitmap.GlideBitmapDrawable; import com.bumptech.glide.load.resource.bitmap.GlideBitmapDrawable;
import com.bumptech.glide.load.resource.drawable.GlideDrawable; import com.bumptech.glide.load.resource.drawable.GlideDrawable;
import com.bumptech.glide.request.RequestListener; import com.bumptech.glide.request.RequestListener;
import com.bumptech.glide.request.target.Target; import com.bumptech.glide.request.target.Target;
import com.bumptech.glide.signature.StringSignature;
import com.github.ksoichiro.android.observablescrollview.ObservableRecyclerView; import com.github.ksoichiro.android.observablescrollview.ObservableRecyclerView;
import com.kabouzeid.gramophone.App; import com.kabouzeid.gramophone.App;
import com.kabouzeid.gramophone.R; import com.kabouzeid.gramophone.R;
@ -177,7 +177,7 @@ public class AlbumDetailActivity extends AbsFabActivity implements PaletteColorH
private void setUpAlbumArtAndApplyPalette() { private void setUpAlbumArtAndApplyPalette() {
Glide.with(AlbumDetailActivity.this) Glide.with(AlbumDetailActivity.this)
.loadFromMediaStore(MusicUtil.getAlbumArtUri(album.id)) .loadFromMediaStore(MusicUtil.getAlbumArtUri(album.id))
.diskCacheStrategy(DiskCacheStrategy.NONE) .signature(new StringSignature(album.albumArtPath))
.error(R.drawable.default_album_art) .error(R.drawable.default_album_art)
.listener(new RequestListener<Uri, GlideDrawable>() { .listener(new RequestListener<Uri, GlideDrawable>() {
@TargetApi(Build.VERSION_CODES.LOLLIPOP) @TargetApi(Build.VERSION_CODES.LOLLIPOP)

View file

@ -28,7 +28,7 @@ import android.widget.FrameLayout;
import com.afollestad.materialdialogs.ThemeSingleton; import com.afollestad.materialdialogs.ThemeSingleton;
import com.astuetz.PagerSlidingTabStrip; import com.astuetz.PagerSlidingTabStrip;
import com.bumptech.glide.Glide; import com.bumptech.glide.Glide;
import com.bumptech.glide.load.engine.DiskCacheStrategy; import com.bumptech.glide.signature.StringSignature;
import com.kabouzeid.gramophone.R; import com.kabouzeid.gramophone.R;
import com.kabouzeid.gramophone.adapter.PagerAdapter; import com.kabouzeid.gramophone.adapter.PagerAdapter;
import com.kabouzeid.gramophone.dialogs.AboutDialog; import com.kabouzeid.gramophone.dialogs.AboutDialog;
@ -207,7 +207,7 @@ public class MainActivity extends AbsFabActivity
navigationDrawerFragment.getSongArtist().setText(song.artistName); navigationDrawerFragment.getSongArtist().setText(song.artistName);
Glide.with(this) Glide.with(this)
.loadFromMediaStore(MusicUtil.getAlbumArtUri(song.albumId)) .loadFromMediaStore(MusicUtil.getAlbumArtUri(song.albumId))
.diskCacheStrategy(DiskCacheStrategy.NONE) .signature(new StringSignature(String.valueOf(song.dateModified)))
.error(R.drawable.default_album_art) .error(R.drawable.default_album_art)
.placeholder(R.drawable.default_album_art) .placeholder(R.drawable.default_album_art)
.into(navigationDrawerFragment.getAlbumArtImageView()); .into(navigationDrawerFragment.getAlbumArtImageView());

View file

@ -24,11 +24,11 @@ import android.widget.Toast;
import com.afollestad.materialdialogs.ThemeSingleton; import com.afollestad.materialdialogs.ThemeSingleton;
import com.afollestad.materialdialogs.util.DialogUtils; import com.afollestad.materialdialogs.util.DialogUtils;
import com.bumptech.glide.Glide; import com.bumptech.glide.Glide;
import com.bumptech.glide.load.engine.DiskCacheStrategy;
import com.bumptech.glide.load.resource.bitmap.GlideBitmapDrawable; import com.bumptech.glide.load.resource.bitmap.GlideBitmapDrawable;
import com.bumptech.glide.load.resource.drawable.GlideDrawable; import com.bumptech.glide.load.resource.drawable.GlideDrawable;
import com.bumptech.glide.request.RequestListener; import com.bumptech.glide.request.RequestListener;
import com.bumptech.glide.request.target.Target; import com.bumptech.glide.request.target.Target;
import com.bumptech.glide.signature.StringSignature;
import com.kabouzeid.gramophone.App; import com.kabouzeid.gramophone.App;
import com.kabouzeid.gramophone.R; import com.kabouzeid.gramophone.R;
import com.kabouzeid.gramophone.dialogs.AddToPlaylistDialog; import com.kabouzeid.gramophone.dialogs.AddToPlaylistDialog;
@ -301,7 +301,7 @@ public class MusicControllerActivity extends AbsFabActivity {
private void setUpAlbumArtAndApplyPalette() { private void setUpAlbumArtAndApplyPalette() {
Glide.with(this) Glide.with(this)
.loadFromMediaStore(MusicUtil.getAlbumArtUri(song.albumId)) .loadFromMediaStore(MusicUtil.getAlbumArtUri(song.albumId))
.diskCacheStrategy(DiskCacheStrategy.NONE) .signature(new StringSignature(String.valueOf(song.dateModified)))
.error(R.drawable.default_album_art) .error(R.drawable.default_album_art)
.placeholder(R.drawable.default_album_art) .placeholder(R.drawable.default_album_art)
.listener(new RequestListener<Uri, GlideDrawable>() { .listener(new RequestListener<Uri, GlideDrawable>() {