package com.sregg.android.tv.spotifyPlayer.presenters; import android.support.v17.leanback.widget.Presenter; import com.sregg.android.tv.spotifyPlayer.SpotifyTvApplication; import com.sregg.android.tv.spotifyPlayer.views.SpotifyCardView; import java.net.URI; import kaaes.spotify.webapi.android.models.Artist; import kaaes.spotify.webapi.android.models.ArtistSimple; import retrofit.Callback; import retrofit.RetrofitError; import retrofit.client.Response; /** * Created by simonreggiani on 15-01-31. */ public class ArtistCardPresenter extends AbsCardPresenter { @Override public void onBindViewHolder(final Presenter.ViewHolder viewHolder, Object item) { super.onBindViewHolder(viewHolder, item); final CardViewHolder cardViewHolder = (CardViewHolder) viewHolder; final SpotifyCardView imageCardView = cardViewHolder.getImageCardView(); ArtistSimple artistSimple = (ArtistSimple) item; // name imageCardView.setTitleText(artistSimple.name); // load real artist (not simple) from API SpotifyTvApplication app = SpotifyTvApplication.getInstance(); app.getSpotifyService().getArtist(artistSimple.id, new Callback<Artist>() { @Override public void success(final Artist artist, Response response) { // TODO nb albums //String totalAlbums = mContext.getResources().getQuantityString(R.plurals.playlist_nb_tracks, artist.a, playlist.tracks.total); //((ViewHolder) viewHolder).mImageCardView.setContentText(totalAlbums); // image if (artist.images != null && !artist.images.isEmpty()) { imageCardView.post(new Runnable() { @Override public void run() { cardViewHolder.updateCardViewImage(URI.create(artist.images.get(0).url)); } }); } } @Override public void failure(RetrofitError error) { } }); } }