reduce api calls for album and artist information

This commit is contained in:
dkanada 2020-05-06 00:25:52 +09:00
commit cef6295b02
2 changed files with 20 additions and 36 deletions

View file

@ -105,23 +105,15 @@ public class AlbumDetailActivity extends AbsSlidingMusicPanelActivity implements
setAlbum(album); setAlbum(album);
loadAlbumCover(); loadAlbumCover();
QueryUtil.getAlbum(album.id, new MediaCallback() { ItemQuery query = new ItemQuery();
query.setParentId(album.id);
query.setSortBy(new String[]{"IndexNumber"});
QueryUtil.getSongs(query, new MediaCallback() {
@Override @Override
public void onLoadMedia(List<?> media) { public void onLoadMedia(List<?> media) {
Album album = (Album) media.get(0); album.songs = (List<Song>) media;
setAlbum(album); setAlbum(album);
ItemQuery query = new ItemQuery();
query.setParentId(album.id);
query.setSortBy(new String[]{"IndexNumber"});
QueryUtil.getSongs(query, new MediaCallback() {
@Override
public void onLoadMedia(List<?> media) {
album.songs = (List<Song>) media;
setAlbum(album);
}
});
} }
}); });
} }

View file

@ -123,31 +123,23 @@ public class ArtistDetailActivity extends AbsSlidingMusicPanelActivity implement
setArtist(artist); setArtist(artist);
loadArtistImage(); loadArtistImage();
QueryUtil.getArtist(artist.id, new MediaCallback() { ItemQuery albums = new ItemQuery();
albums.setArtistIds(new String[]{artist.id});
QueryUtil.getAlbums(albums, new MediaCallback() {
@Override @Override
public void onLoadMedia(List<?> media) { public void onLoadMedia(List<?> media) {
Artist artist = (Artist) media.get(0); artist.albums = (List<Album>) media;
setArtist(artist);
}
});
ItemQuery query = new ItemQuery(); ItemQuery songs = new ItemQuery();
query.setArtistIds(new String[]{artist.id}); songs.setArtistIds(new String[]{artist.id});
QueryUtil.getSongs(songs, new MediaCallback() {
QueryUtil.getAlbums(query, new MediaCallback() { @Override
@Override public void onLoadMedia(List<?> media) {
public void onLoadMedia(List<?> media) { artist.songs = (List<Song>) media;
artist.albums = (List<Album>) media; setArtist(artist);
setArtist(artist);
}
});
ItemQuery querys = new ItemQuery();
querys.setArtistIds(new String[]{artist.id});
QueryUtil.getSongs(querys, new MediaCallback() {
@Override
public void onLoadMedia(List<?> media) {
artist.songs = (List<Song>) media;
setArtist(artist);
}
});
} }
}); });
} }