Enabled all caches and added custom signatures
This commit is contained in:
parent
46ccf7ab76
commit
744d5e12a6
17 changed files with 69 additions and 40 deletions
|
|
@ -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>() {
|
||||||
|
|
|
||||||
|
|
@ -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)
|
||||||
|
|
|
||||||
|
|
@ -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);
|
||||||
|
|
|
||||||
|
|
@ -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)
|
||||||
|
|
|
||||||
|
|
@ -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)
|
||||||
|
|
|
||||||
|
|
@ -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());
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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,
|
||||||
|
|
|
||||||
|
|
@ -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());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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,
|
||||||
|
|
|
||||||
|
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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();
|
||||||
|
|
|
||||||
|
|
@ -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 = "";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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)
|
||||||
|
|
|
||||||
|
|
@ -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());
|
||||||
|
|
|
||||||
|
|
@ -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>() {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue