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 com.kabouzeid.gramophone.util.PreferenceUtil;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Collections;
|
||||||
|
import java.util.Comparator;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Karim Abou Zeid (kabouzeid)
|
* @author Karim Abou Zeid (kabouzeid)
|
||||||
|
|
@ -45,7 +47,9 @@ public class AlbumLoader {
|
||||||
@NonNull
|
@NonNull
|
||||||
public static Album getAlbum(@NonNull final Context context, int albumId) {
|
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)));
|
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
|
@NonNull
|
||||||
|
|
@ -56,6 +60,9 @@ public class AlbumLoader {
|
||||||
getOrCreateAlbum(albums, song.albumId).songs.add(song);
|
getOrCreateAlbum(albums, song.albumId).songs.add(song);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
for (Album album : albums) {
|
||||||
|
sortSongsByTrackNumber(album);
|
||||||
|
}
|
||||||
return albums;
|
return albums;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -69,4 +76,8 @@ public class AlbumLoader {
|
||||||
albums.add(album);
|
albums.add(album);
|
||||||
return 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;
|
return artist;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Artist album = new Artist();
|
Artist artist = new Artist();
|
||||||
artists.add(album);
|
artists.add(artist);
|
||||||
return album;
|
return artist;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue