From 481084686b59b696c4217e14dcb4a325be1f47f4 Mon Sep 17 00:00:00 2001 From: Nite Date: Thu, 24 Sep 2020 15:16:59 +0200 Subject: [PATCH] Fixed missing Genre Refresh functionality --- .../moire/ultrasonic/activity/SelectGenreActivity.java | 3 ++- .../org/moire/ultrasonic/service/CachedMusicService.java | 8 ++++++-- .../java/org/moire/ultrasonic/service/MusicService.java | 2 +- .../org/moire/ultrasonic/service/OfflineMusicService.java | 2 +- .../org/moire/ultrasonic/service/RESTMusicService.java | 2 +- 5 files changed, 11 insertions(+), 6 deletions(-) diff --git a/ultrasonic/src/main/java/org/moire/ultrasonic/activity/SelectGenreActivity.java b/ultrasonic/src/main/java/org/moire/ultrasonic/activity/SelectGenreActivity.java index 996edd6d..4aa273ba 100644 --- a/ultrasonic/src/main/java/org/moire/ultrasonic/activity/SelectGenreActivity.java +++ b/ultrasonic/src/main/java/org/moire/ultrasonic/activity/SelectGenreActivity.java @@ -111,13 +111,14 @@ public class SelectGenreActivity extends SubsonicTabActivity implements AdapterV @Override protected List doInBackground() throws Throwable { + boolean refresh = getIntent().getBooleanExtra(Constants.INTENT_EXTRA_NAME_REFRESH, false); MusicService musicService = MusicServiceFactory.getMusicService(SelectGenreActivity.this); List genres = new ArrayList(); try { - genres = musicService.getGenres(SelectGenreActivity.this, this); + genres = musicService.getGenres(refresh, SelectGenreActivity.this, this); } catch (Exception x) { diff --git a/ultrasonic/src/main/java/org/moire/ultrasonic/service/CachedMusicService.java b/ultrasonic/src/main/java/org/moire/ultrasonic/service/CachedMusicService.java index 173604c1..97677268 100644 --- a/ultrasonic/src/main/java/org/moire/ultrasonic/service/CachedMusicService.java +++ b/ultrasonic/src/main/java/org/moire/ultrasonic/service/CachedMusicService.java @@ -405,14 +405,18 @@ public class CachedMusicService implements MusicService } @Override - public List getGenres(Context context, ProgressListener progressListener) throws Exception + public List getGenres(boolean refresh, Context context, ProgressListener progressListener) throws Exception { checkSettingsChanged(context); + if (refresh) + { + cachedGenres.clear(); + } List result = cachedGenres.get(); if (result == null) { - result = musicService.getGenres(context, progressListener); + result = musicService.getGenres(refresh, context, progressListener); cachedGenres.set(result); } diff --git a/ultrasonic/src/main/java/org/moire/ultrasonic/service/MusicService.java b/ultrasonic/src/main/java/org/moire/ultrasonic/service/MusicService.java index df66ca78..a2cb6da2 100644 --- a/ultrasonic/src/main/java/org/moire/ultrasonic/service/MusicService.java +++ b/ultrasonic/src/main/java/org/moire/ultrasonic/service/MusicService.java @@ -53,7 +53,7 @@ public interface MusicService boolean isLicenseValid(Context context, ProgressListener progressListener) throws Exception; - List getGenres(Context context, ProgressListener progressListener) throws Exception; + List getGenres(boolean refresh, Context context, ProgressListener progressListener) throws Exception; void star(String id, String albumId, String artistId, Context context, ProgressListener progressListener) throws Exception; diff --git a/ultrasonic/src/main/java/org/moire/ultrasonic/service/OfflineMusicService.java b/ultrasonic/src/main/java/org/moire/ultrasonic/service/OfflineMusicService.java index c8bf71f4..d30b6e0d 100644 --- a/ultrasonic/src/main/java/org/moire/ultrasonic/service/OfflineMusicService.java +++ b/ultrasonic/src/main/java/org/moire/ultrasonic/service/OfflineMusicService.java @@ -770,7 +770,7 @@ public class OfflineMusicService extends RESTMusicService } @Override - public List getGenres(Context context, ProgressListener progressListener) throws Exception + public List getGenres(boolean refresh, Context context, ProgressListener progressListener) throws Exception { throw new OfflineException("Getting Genres not available in offline mode"); } diff --git a/ultrasonic/src/main/java/org/moire/ultrasonic/service/RESTMusicService.java b/ultrasonic/src/main/java/org/moire/ultrasonic/service/RESTMusicService.java index b5dd7bc9..984a9606 100644 --- a/ultrasonic/src/main/java/org/moire/ultrasonic/service/RESTMusicService.java +++ b/ultrasonic/src/main/java/org/moire/ultrasonic/service/RESTMusicService.java @@ -829,7 +829,7 @@ public class RESTMusicService implements MusicService { } @Override - public List getGenres(Context context, + public List getGenres(boolean refresh, Context context, ProgressListener progressListener) throws Exception { updateProgressListener(progressListener, R.string.parser_reading); Response response = subsonicAPIClient.getApi().getGenres().execute();