diff --git a/app/src/main/java/com/kabouzeid/gramophone/loader/ArtistSongLoader.java b/app/src/main/java/com/kabouzeid/gramophone/loader/ArtistSongLoader.java deleted file mode 100644 index 96dfc562..00000000 --- a/app/src/main/java/com/kabouzeid/gramophone/loader/ArtistSongLoader.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.kabouzeid.gramophone.loader; - -import android.content.Context; -import android.database.Cursor; -import android.provider.MediaStore; -import android.support.annotation.NonNull; - -import com.kabouzeid.gramophone.model.Song; -import com.kabouzeid.gramophone.util.PreferenceUtil; - -import java.util.ArrayList; - -/** - * @author Karim Abou Zeid (kabouzeid) - */ -public class ArtistSongLoader extends SongLoader { - - @NonNull - public static ArrayList getArtistSongList(@NonNull final Context context, final int artistId) { - return getSongs(makeArtistSongCursor(context, artistId)); - } - - public static Cursor makeArtistSongCursor(@NonNull final Context context, final int artistId) { - try { - return makeSongCursor( - context, - MediaStore.Audio.AudioColumns.ARTIST_ID + "=?", - new String[]{ - String.valueOf(artistId) - }, - PreferenceUtil.getInstance(context).getArtistSongSortOrder() - ); - } catch (SecurityException e) { - return null; - } - } -} \ No newline at end of file diff --git a/app/src/main/java/com/kabouzeid/gramophone/loader/SongLoader.java b/app/src/main/java/com/kabouzeid/gramophone/loader/SongLoader.java index f50e8eb8..354becf6 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/loader/SongLoader.java +++ b/app/src/main/java/com/kabouzeid/gramophone/loader/SongLoader.java @@ -19,6 +19,19 @@ import java.util.ArrayList; */ public class SongLoader { protected static final String BASE_SELECTION = AudioColumns.IS_MUSIC + "=1" + " AND " + AudioColumns.TITLE + " != ''"; + protected static final String[] BASE_PROJECTION = new String[]{ + BaseColumns._ID,// 0 + AudioColumns.TITLE,// 1 + AudioColumns.TRACK,// 2 + AudioColumns.YEAR,// 3 + AudioColumns.DURATION,// 4 + AudioColumns.DATA,// 5 + AudioColumns.DATE_MODIFIED,// 6 + AudioColumns.ALBUM_ID,// 7 + AudioColumns.ALBUM,// 8 + AudioColumns.ARTIST_ID,// 9 + AudioColumns.ARTIST,// 10 + }; @NonNull public static ArrayList getAllSongs(@NonNull Context context) { diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/MainActivity.java b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/MainActivity.java index 5b4d7742..ba0bd2b9 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/MainActivity.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/MainActivity.java @@ -35,7 +35,7 @@ import com.kabouzeid.gramophone.glide.SongGlideRequest; import com.kabouzeid.gramophone.helper.MusicPlayerRemote; import com.kabouzeid.gramophone.helper.SearchQueryHelper; import com.kabouzeid.gramophone.loader.AlbumLoader; -import com.kabouzeid.gramophone.loader.ArtistSongLoader; +import com.kabouzeid.gramophone.loader.ArtistLoader; import com.kabouzeid.gramophone.loader.PlaylistSongLoader; import com.kabouzeid.gramophone.model.Song; import com.kabouzeid.gramophone.service.MusicService; @@ -345,7 +345,7 @@ public class MainActivity extends AbsSlidingMusicPanelActivity { final int id = (int) parseIdFromIntent(intent, "artistId", "artist"); if (id >= 0) { int position = intent.getIntExtra("position", 0); - MusicPlayerRemote.openQueue(ArtistSongLoader.getArtistSongList(this, id), position, true); + MusicPlayerRemote.openQueue(ArtistLoader.getArtist(this, id).getSongs(), position, true); handled = true; } }