use of kaaes.spotify.webapi.android.models.PlaylistTrack in project SpotiQ by ZinoKader.
the class PlaylistSearchPresenter method loadPlaylistSongs.
void loadPlaylistSongs(PlaylistSimple playlist) {
Map<String, Object> searchOptions = new HashMap<>();
searchOptions.put(SpotifyService.LIMIT, SpotifyConstants.PLAYLIST_TRACK_SEARCH_QUERY_RESPONSE_LIMIT);
searchOptions.put(SpotifyService.OFFSET, 0);
partiesRepository.getParty(partyTitle).subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(partySnapshot -> {
Party dbParty = partySnapshot.child(FirebaseConstants.CHILD_PARTYINFO).getValue(Party.class);
searchOptions.put(SpotifyService.MARKET, dbParty.getHostMarket());
findPlaylistTracksRecursively(playlist, searchOptions).subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).map(playlistPager -> {
List<PlaylistTrack> filteredTracks = new ArrayList<>();
filteredTracks.addAll(playlistPager.items);
for (PlaylistTrack playlistTrack : playlistPager.items) {
if (playlistTrack.is_local || !playlistTrack.track.is_playable) {
filteredTracks.remove(playlistTrack);
}
}
return filteredTracks;
}).map(filteredTracks -> TrackMapper.playlistTracksToSongs(filteredTracks, user)).subscribe(songs -> {
if (getView() != null) {
if (songs.isEmpty())
getView().showMessage("Playlist is empty");
getView().updateSongs(songs);
}
}, throwable -> {
Log.d(LogTag.LOG_SEARCH, "Something went wrong on loading playlist songs");
throwable.printStackTrace();
});
});
}
Aggregations