Fix track sorting bug
This commit is contained in:
parent
2fe07913ac
commit
be54afd38b
2 changed files with 15 additions and 4 deletions
|
|
@ -10,6 +10,8 @@ import com.kabouzeid.gramophone.model.Song;
|
|||
import com.kabouzeid.gramophone.util.PreferenceUtil;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.Comparator;
|
||||
|
||||
/**
|
||||
* @author Karim Abou Zeid (kabouzeid)
|
||||
|
|
@ -45,7 +47,9 @@ public class AlbumLoader {
|
|||
@NonNull
|
||||
public static Album getAlbum(@NonNull final Context context, int albumId) {
|
||||
ArrayList<Song> songs = SongLoader.getSongs(SongLoader.makeSongCursor(context, AudioColumns.ALBUM_ID + "=?", new String[]{String.valueOf(albumId)}, getSongLoaderSortOrder(context)));
|
||||
return new Album(songs);
|
||||
Album album = new Album(songs);
|
||||
sortSongsByTrackNumber(album);
|
||||
return album;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
|
|
@ -56,6 +60,9 @@ public class AlbumLoader {
|
|||
getOrCreateAlbum(albums, song.albumId).songs.add(song);
|
||||
}
|
||||
}
|
||||
for (Album album : albums) {
|
||||
sortSongsByTrackNumber(album);
|
||||
}
|
||||
return albums;
|
||||
}
|
||||
|
||||
|
|
@ -69,4 +76,8 @@ public class AlbumLoader {
|
|||
albums.add(album);
|
||||
return album;
|
||||
}
|
||||
|
||||
private static void sortSongsByTrackNumber(Album album) {
|
||||
Collections.sort(album.songs, (o1, o2) -> o1.trackNumber - o2.trackNumber);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -70,8 +70,8 @@ public class ArtistLoader {
|
|||
return artist;
|
||||
}
|
||||
}
|
||||
Artist album = new Artist();
|
||||
artists.add(album);
|
||||
return album;
|
||||
Artist artist = new Artist();
|
||||
artists.add(artist);
|
||||
return artist;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue