use of com.simplecity.amp_library.lastfm.LastFmAlbum in project Shuttle by timusus.
the class DialogUtils method showBiographyDialog.
public static void showBiographyDialog(final Context context, @BioType int type, String artistName, String albumName) {
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View customView = inflater.inflate(R.layout.dialog_biography, null, false);
final ProgressBar progressBar = (ProgressBar) customView.findViewById(R.id.progress);
final TextView message = (TextView) customView.findViewById(R.id.message);
final ScrollView scrollView = (ScrollView) customView.findViewById(R.id.scrollView);
ThemeUtils.themeScrollView(scrollView);
Callback<LastFmArtist> artistCallback = new Callback<LastFmArtist>() {
@Override
public void onResponse(Call<LastFmArtist> call, Response<LastFmArtist> response) {
progressBar.setVisibility(View.GONE);
if (response != null && response.isSuccessful()) {
if (response.body() != null && response.body().artist != null && response.body().artist.bio != null) {
message.setText(Html.fromHtml(response.body().artist.bio.summary));
} else {
message.setText(R.string.no_artist_info);
}
}
}
@Override
public void onFailure(Call<LastFmArtist> call, Throwable t) {
progressBar.setVisibility(View.GONE);
switch(type) {
case BioType.ARTIST:
message.setText(R.string.no_artist_info);
break;
case BioType.ALBUM:
message.setText(R.string.no_album_info);
break;
}
}
};
Callback<LastFmAlbum> albumCallback = new Callback<LastFmAlbum>() {
@Override
public void onResponse(Call<LastFmAlbum> call, Response<LastFmAlbum> response) {
progressBar.setVisibility(View.GONE);
if (response != null && response.isSuccessful()) {
if (response.body() != null && response.body().album != null && response.body().album.wiki != null) {
message.setText(Html.fromHtml(response.body().album.wiki.summary));
} else {
message.setText(R.string.no_album_info);
}
}
}
@Override
public void onFailure(Call<LastFmAlbum> call, Throwable t) {
progressBar.setVisibility(View.GONE);
switch(type) {
case BioType.ARTIST:
message.setText(R.string.no_artist_info);
break;
case BioType.ALBUM:
message.setText(R.string.no_album_info);
break;
}
}
};
switch(type) {
case BioType.ARTIST:
HttpClient.getInstance().lastFmService.getLastFmArtistResult(artistName).enqueue(artistCallback);
break;
case BioType.ALBUM:
HttpClient.getInstance().lastFmService.getLastFmAlbumResult(artistName, albumName).enqueue(albumCallback);
break;
}
MaterialDialog.Builder builder = getBuilder(context).title(R.string.info).customView(customView, false).negativeText(R.string.close);
Dialog dialog = builder.show();
dialog.setOnDismissListener(dialog1 -> {
});
}
Aggregations