Added control for the auto download setting.
This commit is contained in:
parent
dc0e5ed7f8
commit
d15f056e00
3 changed files with 71 additions and 31 deletions
|
|
@ -98,6 +98,7 @@ public class AlbumDetailActivity extends AbsSlidingMusicPanelActivity implements
|
||||||
|
|
||||||
@Nullable
|
@Nullable
|
||||||
private Spanned wiki;
|
private Spanned wiki;
|
||||||
|
private MaterialDialog wikiDialog;
|
||||||
private LastFMRestClient lastFMRestClient;
|
private LastFMRestClient lastFMRestClient;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
@ -255,14 +256,6 @@ public class AlbumDetailActivity extends AbsSlidingMusicPanelActivity implements
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
private MaterialDialog getWikiDialog() {
|
|
||||||
return new MaterialDialog.Builder(AlbumDetailActivity.this)
|
|
||||||
.title(getAlbum().getTitle())
|
|
||||||
.content(wiki != null ? wiki : "")
|
|
||||||
.positiveText(android.R.string.ok)
|
|
||||||
.build();
|
|
||||||
}
|
|
||||||
|
|
||||||
private void loadWiki() {
|
private void loadWiki() {
|
||||||
final Callback<LastFmAlbum> wikiCallback = new Callback<LastFmAlbum>(){
|
final Callback<LastFmAlbum> wikiCallback = new Callback<LastFmAlbum>(){
|
||||||
@Override
|
@Override
|
||||||
|
|
@ -272,14 +265,17 @@ public class AlbumDetailActivity extends AbsSlidingMusicPanelActivity implements
|
||||||
String wik = lastFmAlbum.getAlbum().getWiki().getContent();
|
String wik = lastFmAlbum.getAlbum().getWiki().getContent();
|
||||||
if (wik != null && !wik.trim().equals("")) {
|
if (wik != null && !wik.trim().equals("")) {
|
||||||
wiki = Html.fromHtml(wik);
|
wiki = Html.fromHtml(wik);
|
||||||
|
wikiReady();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
else if(call.request().url().queryParameter("lang") != null) {
|
||||||
|
//If the "lang" parameter is set and no wiki is given, retry with default language
|
||||||
|
lastFMRestClient.getApiService().getAlbumInfo(getAlbum().getTitle(), getAlbum().getArtistName(), null).enqueue(this);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(call.request().url().queryParameter("lang") != null){
|
|
||||||
//If the "lang" parameter is set and no wiki is given, retry with default language
|
|
||||||
lastFMRestClient.getApiService().getAlbumInfo(getAlbum().getTitle(), getAlbum().getArtistName(), null).enqueue(this);
|
|
||||||
}
|
|
||||||
wiki = null;
|
wiki = null;
|
||||||
|
wikiReady();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
@ -291,6 +287,17 @@ public class AlbumDetailActivity extends AbsSlidingMusicPanelActivity implements
|
||||||
lastFMRestClient.getApiService().getAlbumInfo(getAlbum().getTitle(), getAlbum().getArtistName(), Locale.getDefault().getLanguage()).enqueue(wikiCallback);
|
lastFMRestClient.getApiService().getAlbumInfo(getAlbum().getTitle(), getAlbum().getArtistName(), Locale.getDefault().getLanguage()).enqueue(wikiCallback);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void wikiReady(){
|
||||||
|
if(!Util.isAllowedToAutoDownload(AlbumDetailActivity.this)) {
|
||||||
|
if(wiki != null) {
|
||||||
|
wikiDialog.setContent(wiki);
|
||||||
|
} else {
|
||||||
|
wikiDialog.dismiss();
|
||||||
|
Toast.makeText(AlbumDetailActivity.this, getResources().getString(R.string.wiki_unavailable), Toast.LENGTH_SHORT).show();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
|
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
|
||||||
int id = item.getItemId();
|
int id = item.getItemId();
|
||||||
|
|
@ -316,11 +323,18 @@ public class AlbumDetailActivity extends AbsSlidingMusicPanelActivity implements
|
||||||
NavigationUtil.goToArtist(this, getAlbum().getArtistId());
|
NavigationUtil.goToArtist(this, getAlbum().getArtistId());
|
||||||
return true;
|
return true;
|
||||||
case R.id.action_wiki:
|
case R.id.action_wiki:
|
||||||
|
if(Util.isAllowedToAutoDownload(AlbumDetailActivity.this)) {
|
||||||
if (wiki != null) {
|
if (wiki != null) {
|
||||||
getWikiDialog().show();
|
wikiDialog.setContent(wiki);
|
||||||
|
wikiDialog.show();
|
||||||
} else {
|
} else {
|
||||||
Toast.makeText(AlbumDetailActivity.this, getResources().getString(R.string.wiki_unavailable), Toast.LENGTH_SHORT).show();
|
Toast.makeText(AlbumDetailActivity.this, getResources().getString(R.string.wiki_unavailable), Toast.LENGTH_SHORT).show();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
wikiDialog.show();
|
||||||
|
loadWiki();
|
||||||
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return super.onOptionsItemSelected(item);
|
return super.onOptionsItemSelected(item);
|
||||||
|
|
@ -388,7 +402,13 @@ public class AlbumDetailActivity extends AbsSlidingMusicPanelActivity implements
|
||||||
private void setAlbum(Album album) {
|
private void setAlbum(Album album) {
|
||||||
this.album = album;
|
this.album = album;
|
||||||
loadAlbumCover();
|
loadAlbumCover();
|
||||||
|
if(Util.isAllowedToAutoDownload(AlbumDetailActivity.this))
|
||||||
loadWiki();
|
loadWiki();
|
||||||
|
wikiDialog=new MaterialDialog.Builder(AlbumDetailActivity.this)
|
||||||
|
.title(album.getTitle())
|
||||||
|
.content("")
|
||||||
|
.positiveText(android.R.string.ok)
|
||||||
|
.build();
|
||||||
albumTitleView.setText(album.getTitle());
|
albumTitleView.setText(album.getTitle());
|
||||||
adapter.swapDataSet(album.songs);
|
adapter.swapDataSet(album.songs);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -102,6 +102,7 @@ public class ArtistDetailActivity extends AbsSlidingMusicPanelActivity implement
|
||||||
private Artist artist;
|
private Artist artist;
|
||||||
@Nullable
|
@Nullable
|
||||||
private Spanned biography;
|
private Spanned biography;
|
||||||
|
private MaterialDialog biographyDialog;
|
||||||
private HorizontalAlbumAdapter albumAdapter;
|
private HorizontalAlbumAdapter albumAdapter;
|
||||||
private ArtistSongAdapter songAdapter;
|
private ArtistSongAdapter songAdapter;
|
||||||
|
|
||||||
|
|
@ -233,14 +234,17 @@ public class ArtistDetailActivity extends AbsSlidingMusicPanelActivity implement
|
||||||
String bio = lastFmArtist.getArtist().getBio().getContent();
|
String bio = lastFmArtist.getArtist().getBio().getContent();
|
||||||
if (bio != null && !bio.trim().equals("")) {
|
if (bio != null && !bio.trim().equals("")) {
|
||||||
biography = Html.fromHtml(bio);
|
biography = Html.fromHtml(bio);
|
||||||
|
biographyReady();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
else if(call.request().url().queryParameter("lang") != null) {
|
else if(call.request().url().queryParameter("lang") != null) {
|
||||||
//If the "lang" parameter is set and no bio is given, retry with default language
|
//If the "lang" parameter is set and no biography is given, retry with default language
|
||||||
lastFMRestClient.getApiService().getArtistInfo(getArtist().getName(), null, null).enqueue(this);
|
lastFMRestClient.getApiService().getArtistInfo(getArtist().getName(), null, null).enqueue(this);
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
biography = null;
|
biography = null;
|
||||||
|
biographyReady();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
@ -252,12 +256,15 @@ public class ArtistDetailActivity extends AbsSlidingMusicPanelActivity implement
|
||||||
lastFMRestClient.getApiService().getArtistInfo(getArtist().getName(), Locale.getDefault().getLanguage(), null).enqueue(bioCallback);
|
lastFMRestClient.getApiService().getArtistInfo(getArtist().getName(), Locale.getDefault().getLanguage(), null).enqueue(bioCallback);
|
||||||
}
|
}
|
||||||
|
|
||||||
private MaterialDialog getBiographyDialog() {
|
private void biographyReady() {
|
||||||
return new MaterialDialog.Builder(ArtistDetailActivity.this)
|
if(!Util.isAllowedToAutoDownload(ArtistDetailActivity.this)) {
|
||||||
.title(getArtist().getName())
|
if(biography != null) {
|
||||||
.content(biography != null ? biography : "")
|
biographyDialog.setContent(biography);
|
||||||
.positiveText(android.R.string.ok)
|
} else {
|
||||||
.build();
|
biographyDialog.dismiss();
|
||||||
|
Toast.makeText(ArtistDetailActivity.this, getResources().getString(R.string.biography_unavailable), Toast.LENGTH_SHORT).show();
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void loadArtistImage(final boolean forceDownload) {
|
private void loadArtistImage(final boolean forceDownload) {
|
||||||
|
|
@ -350,11 +357,18 @@ public class ArtistDetailActivity extends AbsSlidingMusicPanelActivity implement
|
||||||
super.onBackPressed();
|
super.onBackPressed();
|
||||||
return true;
|
return true;
|
||||||
case R.id.action_biography:
|
case R.id.action_biography:
|
||||||
|
if(Util.isAllowedToAutoDownload(ArtistDetailActivity.this)) {
|
||||||
if (biography != null) {
|
if (biography != null) {
|
||||||
getBiographyDialog().show();
|
biographyDialog.setContent(biography);
|
||||||
|
biographyDialog.show();
|
||||||
} else {
|
} else {
|
||||||
Toast.makeText(ArtistDetailActivity.this, getResources().getString(R.string.biography_unavailable), Toast.LENGTH_SHORT).show();
|
Toast.makeText(ArtistDetailActivity.this, getResources().getString(R.string.biography_unavailable), Toast.LENGTH_SHORT).show();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
biographyDialog.show();
|
||||||
|
loadBiography();
|
||||||
|
}
|
||||||
return true;
|
return true;
|
||||||
case R.id.action_re_download_artist_image:
|
case R.id.action_re_download_artist_image:
|
||||||
Toast.makeText(ArtistDetailActivity.this, getResources().getString(R.string.updating), Toast.LENGTH_SHORT).show();
|
Toast.makeText(ArtistDetailActivity.this, getResources().getString(R.string.updating), Toast.LENGTH_SHORT).show();
|
||||||
|
|
@ -421,7 +435,13 @@ public class ArtistDetailActivity extends AbsSlidingMusicPanelActivity implement
|
||||||
private void setArtist(Artist artist) {
|
private void setArtist(Artist artist) {
|
||||||
this.artist = artist;
|
this.artist = artist;
|
||||||
loadArtistImage(false);
|
loadArtistImage(false);
|
||||||
|
if(Util.isAllowedToAutoDownload(ArtistDetailActivity.this))
|
||||||
loadBiography();
|
loadBiography();
|
||||||
|
biographyDialog=new MaterialDialog.Builder(ArtistDetailActivity.this)
|
||||||
|
.title(artist.getName())
|
||||||
|
.content("")
|
||||||
|
.positiveText(android.R.string.ok)
|
||||||
|
.build();
|
||||||
artistName.setText(artist.getName());
|
artistName.setText(artist.getName());
|
||||||
songAdapter.swapDataSet(artist.getSongs());
|
songAdapter.swapDataSet(artist.getSongs());
|
||||||
albumAdapter.swapDataSet(artist.albums);
|
albumAdapter.swapDataSet(artist.albums);
|
||||||
|
|
|
||||||
|
|
@ -131,7 +131,7 @@
|
||||||
<string name="pref_title_app_shortcuts">Colored app shortcuts</string>
|
<string name="pref_title_app_shortcuts">Colored app shortcuts</string>
|
||||||
<string name="pref_title_set_default_start_page">Start page</string>
|
<string name="pref_title_set_default_start_page">Start page</string>
|
||||||
<string name="pref_title_album_art_on_lockscreen">Show album cover</string>
|
<string name="pref_title_album_art_on_lockscreen">Show album cover</string>
|
||||||
<string name="pref_title_auto_download_artist_images">Auto download artist images</string>
|
<string name="pref_title_auto_download_artist_images">Auto download meta data</string>
|
||||||
<string name="pref_title_blurred_album_art">Blur album cover</string>
|
<string name="pref_title_blurred_album_art">Blur album cover</string>
|
||||||
<string name="pref_title_colored_notification">Colored notification</string>
|
<string name="pref_title_colored_notification">Colored notification</string>
|
||||||
<string name="pref_title_classic_notification">Classic notification design</string>
|
<string name="pref_title_classic_notification">Classic notification design</string>
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue