use of kaaes.spotify.webapi.android.models.TracksPager in project SpotiQ by ZinoKader.
the class SongSearchPresenter method searchTracks.
void searchTracks(String query) {
Map<String, Object> searchOptions = new HashMap<>();
searchOptions.put(SpotifyService.LIMIT, SpotifyConstants.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());
searchTracksRecursively(query, searchOptions).subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).map(tracksPager -> TrackMapper.tracksToSongs(tracksPager.tracks.items, user)).subscribe(songs -> {
if (getView() != null) {
if (songs.isEmpty())
getView().showMessage("No songs were found for the search query " + query);
getView().updateSearch(songs);
}
}, throwable -> {
Log.d(LogTag.LOG_SEARCH, "Something went wrong on searching for tracks");
throwable.printStackTrace();
});
});
}
Aggregations