Fixed some artist images not showing up and a crash when the artist image url was empty

This commit is contained in:
Karim Abou Zeid 2015-07-01 16:21:42 +02:00
commit c1437283aa
24 changed files with 54 additions and 830 deletions

View file

@ -72,6 +72,10 @@ public class ArtistAdapter extends AbsMultiSelectAdapter<ArtistAdapter.ViewHolde
holder.artistInfo.setText(MusicUtil.getArtistInfoString(activity, artist));
holder.view.setActivated(isChecked(artist));
if (MusicUtil.isArtistNameUnknown(artist.name)) {
holder.artistImage.setImageResource(R.drawable.default_artist_image);
return;
}
lastFMRestClient.getApiService().getArtistInfo(artist.name, null, new Callback<ArtistInfo>() {
@Override
public void success(ArtistInfo artistInfo, Response response) {
@ -88,24 +92,23 @@ public class ArtistAdapter extends AbsMultiSelectAdapter<ArtistAdapter.ViewHolde
new DisplayImageOptions.Builder()
.cacheInMemory(true)
.cacheOnDisk(true)
.resetViewBeforeLoading(true)
.showImageOnFail(R.drawable.default_artist_image)
.showImageForEmptyUri(R.drawable.default_artist_image)
.build()
);
} else {
setDefaultArtistImage(holder);
holder.artistImage.setImageResource(R.drawable.default_artist_image);
}
}
@Override
public void failure(RetrofitError error) {
setDefaultArtistImage(holder);
holder.artistImage.setImageResource(R.drawable.default_artist_image);
}
});
}
private void setDefaultArtistImage(ViewHolder holder) {
holder.artistImage.setImageResource(R.drawable.default_artist_image);
}
@Override
public int getItemCount() {
return dataSet.size();

View file

@ -124,6 +124,10 @@ public class SearchAdapter extends RecyclerView.Adapter<SearchAdapter.ViewHolder
final Artist artist = (Artist) results.get(position);
holder.title.setText(artist.name);
holder.subTitle.setText(MusicUtil.getArtistInfoString(activity, artist));
if (MusicUtil.isArtistNameUnknown(artist.name)) {
holder.image.setImageResource(R.drawable.default_artist_image);
break;
}
lastFMRestClient.getApiService().getArtistInfo(artist.name, null, new Callback<ArtistInfo>() {
@Override
public void success(ArtistInfo artistInfo, Response response) {
@ -140,21 +144,18 @@ public class SearchAdapter extends RecyclerView.Adapter<SearchAdapter.ViewHolder
new DisplayImageOptions.Builder()
.cacheInMemory(true)
.cacheOnDisk(true)
.showImageOnFail(R.drawable.default_artist_image)
.resetViewBeforeLoading(true)
.showImageOnFail(R.drawable.default_artist_image)
.showImageForEmptyUri(R.drawable.default_artist_image)
.build()
);
} else {
setDefaultArtistImage();
holder.image.setImageResource(R.drawable.default_artist_image);
}
}
@Override
public void failure(RetrofitError error) {
setDefaultArtistImage();
}
private void setDefaultArtistImage() {
holder.image.setImageResource(R.drawable.default_artist_image);
}
});