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 7d84c9921..fbf1aa9b2 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/loader/SongLoader.java +++ b/app/src/main/java/com/kabouzeid/gramophone/loader/SongLoader.java @@ -12,6 +12,7 @@ import com.kabouzeid.gramophone.provider.BlacklistStore; import com.kabouzeid.gramophone.util.PreferenceUtil; +import java.io.File; import java.util.ArrayList; /** @@ -56,7 +57,10 @@ public static ArrayList getSongs(@Nullable final Cursor cursor) { ArrayList songs = new ArrayList<>(); if (cursor != null && cursor.moveToFirst()) { do { - songs.add(getSongFromCursorImpl(cursor)); + Song song = getSongFromCursorImpl(cursor); + if (song != Song.EMPTY_SONG) { + songs.add(song); + } } while (cursor.moveToNext()); } @@ -81,12 +85,17 @@ public static Song getSong(@Nullable Cursor cursor) { @NonNull private static Song getSongFromCursorImpl(@NonNull Cursor cursor) { + final String data = cursor.getString(5); + + if (!new File(data).exists()) { + return Song.EMPTY_SONG; + } + final int id = cursor.getInt(0); final String title = cursor.getString(1); final int trackNumber = cursor.getInt(2); final int year = cursor.getInt(3); final long duration = cursor.getLong(4); - final String data = cursor.getString(5); final long dateModified = cursor.getLong(6); final int albumId = cursor.getInt(7); final String albumName = cursor.getString(8);