From f7f5b5be1bbde0f6e4dfe95ce1f0e23950484450 Mon Sep 17 00:00:00 2001 From: Scott Jackson Date: Fri, 29 Aug 2014 15:20:26 -0700 Subject: Update rating cache immediately --- .../dsub/service/CachedMusicService.java | 52 +++++++++++++++++++++- 1 file changed, 50 insertions(+), 2 deletions(-) (limited to 'src/github/daneren2005') diff --git a/src/github/daneren2005/dsub/service/CachedMusicService.java b/src/github/daneren2005/dsub/service/CachedMusicService.java index 90e5539c..01e50e95 100644 --- a/src/github/daneren2005/dsub/service/CachedMusicService.java +++ b/src/github/daneren2005/dsub/service/CachedMusicService.java @@ -792,8 +792,15 @@ public class CachedMusicService implements MusicService { } @Override - public void setRating(String id, int rating, Context context, ProgressListener progressListener) throws Exception { - musicService.setRating(id, rating, context, progressListener); + public void setRating(final String id, String parent, final int rating, Context context, ProgressListener progressListener) throws Exception { + musicService.setRating(id, parent, rating, context, progressListener); + + new GenericSongUpdater(context, parent, id) { + @Override + public void updateResult(Entry result) { + result.setRating(rating); + } + }.execute(); } @Override @@ -1222,6 +1229,47 @@ public class CachedMusicService implements MusicService { } } } + private abstract class GenericSongUpdater { + Context context; + String id; + String parent; + + public GenericSongUpdater(Context context, String id, String parent) { + this.context = context; + this.id = id; + this.parent = parent; + } + + public boolean checkResult(Entry check) { + return id.equals(check.getId()); + } + public abstract void updateResult(Entry result); + + public void execute() { + new MusicDirectoryUpdater(context, "directory", parent) { + @Override + public boolean checkResult(Entry check) { + return GenericSongUpdater.this.checkResult(check); + } + + @Override void updateResult(List objects, Entry result) { + GenericSongUpdater.this.updateResult(result); + } + }.execute(); + + new PlaylistDirectoryUpdater(context) { + @Override + public boolean checkResult(Entry check) { + return GenericSongUpdater.this.checkResult(check); + } + + @Override + public void updateResult(Entry result) { + GenericSongUpdater.this.updateResult(result); + } + }.execute(); + } + } private abstract class IndexesUpdater extends SerializeUpdater { Indexes indexes; -- cgit v1.2.3 From e6cfc1f039d60c36ba95ecab7f8a4db779ce8a73 Mon Sep 17 00:00:00 2001 From: Scott Jackson Date: Sat, 30 Aug 2014 13:20:30 -0700 Subject: Update service to use parent in setRating --- src/github/daneren2005/dsub/service/CachedMusicService.java | 3 ++- src/github/daneren2005/dsub/service/MusicService.java | 2 +- src/github/daneren2005/dsub/service/OfflineMusicService.java | 2 +- src/github/daneren2005/dsub/service/RESTMusicService.java | 2 +- 4 files changed, 5 insertions(+), 4 deletions(-) (limited to 'src/github/daneren2005') diff --git a/src/github/daneren2005/dsub/service/CachedMusicService.java b/src/github/daneren2005/dsub/service/CachedMusicService.java index 01e50e95..3801da67 100644 --- a/src/github/daneren2005/dsub/service/CachedMusicService.java +++ b/src/github/daneren2005/dsub/service/CachedMusicService.java @@ -1252,7 +1252,8 @@ public class CachedMusicService implements MusicService { return GenericSongUpdater.this.checkResult(check); } - @Override void updateResult(List objects, Entry result) { + @Override + public void updateResult(List objects, Entry result) { GenericSongUpdater.this.updateResult(result); } }.execute(); diff --git a/src/github/daneren2005/dsub/service/MusicService.java b/src/github/daneren2005/dsub/service/MusicService.java index d70f1c46..28b8bbfe 100644 --- a/src/github/daneren2005/dsub/service/MusicService.java +++ b/src/github/daneren2005/dsub/service/MusicService.java @@ -152,7 +152,7 @@ public interface MusicService { void deletePodcastEpisode(String id, String parent, ProgressListener progressListener, Context context) throws Exception; - void setRating(String id, int rating, Context context, ProgressListener progressListener) throws Exception; + void setRating(String id, String parent, int rating, Context context, ProgressListener progressListener) throws Exception; MusicDirectory getBookmarks(boolean refresh, Context context, ProgressListener progressListener) throws Exception; diff --git a/src/github/daneren2005/dsub/service/OfflineMusicService.java b/src/github/daneren2005/dsub/service/OfflineMusicService.java index 788057d2..6ac21c35 100644 --- a/src/github/daneren2005/dsub/service/OfflineMusicService.java +++ b/src/github/daneren2005/dsub/service/OfflineMusicService.java @@ -737,7 +737,7 @@ public class OfflineMusicService implements MusicService { } @Override - public void setRating(String id, int rating, Context context, ProgressListener progressListener) throws Exception { + public void setRating(String id, String parent, int rating, Context context, ProgressListener progressListener) throws Exception { throw new OfflineException(ERRORMSG); } diff --git a/src/github/daneren2005/dsub/service/RESTMusicService.java b/src/github/daneren2005/dsub/service/RESTMusicService.java index d6715e8c..4ec487a0 100644 --- a/src/github/daneren2005/dsub/service/RESTMusicService.java +++ b/src/github/daneren2005/dsub/service/RESTMusicService.java @@ -1126,7 +1126,7 @@ public class RESTMusicService implements MusicService { } @Override - public void setRating(String id, int rating, Context context, ProgressListener progressListener) throws Exception { + public void setRating(String id, String parent, int rating, Context context, ProgressListener progressListener) throws Exception { checkServerVersion(context, "1.6", "Setting ratings not supported."); Reader reader = getReader(context, progressListener, "setRating", null, Arrays.asList("id", "rating"), Arrays.asList(id, rating)); -- cgit v1.2.3 From bbf2b490cc6fc90fbd29715c2871082f5798c035 Mon Sep 17 00:00:00 2001 From: Scott Jackson Date: Sat, 30 Aug 2014 13:45:50 -0700 Subject: setRating just takes a Entry, add ratings + select bookmark icons, basic thumb down/up entry to now playing --- res/drawable-hdpi/ic_action_rating_bad_dark.png | Bin 0 -> 754 bytes res/drawable-hdpi/ic_action_rating_bad_light.png | Bin 0 -> 892 bytes .../ic_action_rating_bad_selected.png | Bin 0 -> 965 bytes res/drawable-hdpi/ic_action_rating_good_dark.png | Bin 0 -> 744 bytes res/drawable-hdpi/ic_action_rating_good_light.png | Bin 0 -> 873 bytes res/drawable-hdpi/ic_menu_bookmark_selected.png | Bin 0 -> 1374 bytes res/drawable-mdpi/ic_action_rating_bad_dark.png | Bin 0 -> 460 bytes res/drawable-mdpi/ic_action_rating_bad_light.png | Bin 0 -> 543 bytes .../ic_action_rating_bad_selected.png | Bin 0 -> 584 bytes res/drawable-mdpi/ic_action_rating_good_dark.png | Bin 0 -> 456 bytes res/drawable-mdpi/ic_action_rating_good_light.png | Bin 0 -> 541 bytes res/drawable-mdpi/ic_menu_bookmark_selected.png | Bin 0 -> 849 bytes res/drawable-xhdpi/ic_action_rating_bad_dark.png | Bin 0 -> 961 bytes res/drawable-xhdpi/ic_action_rating_bad_light.png | Bin 0 -> 1141 bytes .../ic_action_rating_bad_selected.png | Bin 0 -> 1197 bytes res/drawable-xhdpi/ic_action_rating_good_dark.png | Bin 0 -> 946 bytes res/drawable-xhdpi/ic_action_rating_good_light.png | Bin 0 -> 1129 bytes res/drawable-xhdpi/ic_menu_bookmark_selected.png | Bin 0 -> 1780 bytes res/drawable-xxhdpi/ic_action_rating_bad_dark.png | Bin 0 -> 1540 bytes res/drawable-xxhdpi/ic_action_rating_bad_light.png | Bin 0 -> 1822 bytes .../ic_action_rating_bad_selected.png | Bin 0 -> 1953 bytes res/drawable-xxhdpi/ic_action_rating_good_dark.png | Bin 0 -> 1582 bytes .../ic_action_rating_good_light.png | Bin 0 -> 1835 bytes res/drawable-xxhdpi/ic_menu_bookmark_selected.png | Bin 0 -> 2635 bytes res/layout-land/download.xml | 10 ++++++ res/layout-port/download.xml | 10 ++++++ res/values/attrs.xml | 2 ++ res/values/strings.xml | 3 ++ res/values/themes.xml | 6 ++++ .../dsub/fragments/NowPlayingFragment.java | 38 ++++++++++++++++----- .../dsub/fragments/SubsonicFragment.java | 25 ++++++++++++++ .../dsub/service/CachedMusicService.java | 18 +++++----- .../daneren2005/dsub/service/MusicService.java | 2 +- .../dsub/service/OfflineMusicService.java | 2 +- .../daneren2005/dsub/service/RESTMusicService.java | 4 +-- .../service/parser/MusicDirectoryEntryParser.java | 1 + 36 files changed, 98 insertions(+), 23 deletions(-) create mode 100644 res/drawable-hdpi/ic_action_rating_bad_dark.png create mode 100644 res/drawable-hdpi/ic_action_rating_bad_light.png create mode 100644 res/drawable-hdpi/ic_action_rating_bad_selected.png create mode 100644 res/drawable-hdpi/ic_action_rating_good_dark.png create mode 100644 res/drawable-hdpi/ic_action_rating_good_light.png create mode 100644 res/drawable-hdpi/ic_menu_bookmark_selected.png create mode 100644 res/drawable-mdpi/ic_action_rating_bad_dark.png create mode 100644 res/drawable-mdpi/ic_action_rating_bad_light.png create mode 100644 res/drawable-mdpi/ic_action_rating_bad_selected.png create mode 100644 res/drawable-mdpi/ic_action_rating_good_dark.png create mode 100644 res/drawable-mdpi/ic_action_rating_good_light.png create mode 100644 res/drawable-mdpi/ic_menu_bookmark_selected.png create mode 100644 res/drawable-xhdpi/ic_action_rating_bad_dark.png create mode 100644 res/drawable-xhdpi/ic_action_rating_bad_light.png create mode 100644 res/drawable-xhdpi/ic_action_rating_bad_selected.png create mode 100644 res/drawable-xhdpi/ic_action_rating_good_dark.png create mode 100644 res/drawable-xhdpi/ic_action_rating_good_light.png create mode 100644 res/drawable-xhdpi/ic_menu_bookmark_selected.png create mode 100644 res/drawable-xxhdpi/ic_action_rating_bad_dark.png create mode 100644 res/drawable-xxhdpi/ic_action_rating_bad_light.png create mode 100644 res/drawable-xxhdpi/ic_action_rating_bad_selected.png create mode 100644 res/drawable-xxhdpi/ic_action_rating_good_dark.png create mode 100644 res/drawable-xxhdpi/ic_action_rating_good_light.png create mode 100644 res/drawable-xxhdpi/ic_menu_bookmark_selected.png (limited to 'src/github/daneren2005') diff --git a/res/drawable-hdpi/ic_action_rating_bad_dark.png b/res/drawable-hdpi/ic_action_rating_bad_dark.png new file mode 100644 index 00000000..855709e9 Binary files /dev/null and b/res/drawable-hdpi/ic_action_rating_bad_dark.png differ diff --git a/res/drawable-hdpi/ic_action_rating_bad_light.png b/res/drawable-hdpi/ic_action_rating_bad_light.png new file mode 100644 index 00000000..34199d3a Binary files /dev/null and b/res/drawable-hdpi/ic_action_rating_bad_light.png differ diff --git a/res/drawable-hdpi/ic_action_rating_bad_selected.png b/res/drawable-hdpi/ic_action_rating_bad_selected.png new file mode 100644 index 00000000..c57aba50 Binary files /dev/null and b/res/drawable-hdpi/ic_action_rating_bad_selected.png differ diff --git a/res/drawable-hdpi/ic_action_rating_good_dark.png b/res/drawable-hdpi/ic_action_rating_good_dark.png new file mode 100644 index 00000000..fa91e699 Binary files /dev/null and b/res/drawable-hdpi/ic_action_rating_good_dark.png differ diff --git a/res/drawable-hdpi/ic_action_rating_good_light.png b/res/drawable-hdpi/ic_action_rating_good_light.png new file mode 100644 index 00000000..3427d770 Binary files /dev/null and b/res/drawable-hdpi/ic_action_rating_good_light.png differ diff --git a/res/drawable-hdpi/ic_menu_bookmark_selected.png b/res/drawable-hdpi/ic_menu_bookmark_selected.png new file mode 100644 index 00000000..5a33d60c Binary files /dev/null and b/res/drawable-hdpi/ic_menu_bookmark_selected.png differ diff --git a/res/drawable-mdpi/ic_action_rating_bad_dark.png b/res/drawable-mdpi/ic_action_rating_bad_dark.png new file mode 100644 index 00000000..64f3cd1f Binary files /dev/null and b/res/drawable-mdpi/ic_action_rating_bad_dark.png differ diff --git a/res/drawable-mdpi/ic_action_rating_bad_light.png b/res/drawable-mdpi/ic_action_rating_bad_light.png new file mode 100644 index 00000000..d6c8d42a Binary files /dev/null and b/res/drawable-mdpi/ic_action_rating_bad_light.png differ diff --git a/res/drawable-mdpi/ic_action_rating_bad_selected.png b/res/drawable-mdpi/ic_action_rating_bad_selected.png new file mode 100644 index 00000000..34f5a9de Binary files /dev/null and b/res/drawable-mdpi/ic_action_rating_bad_selected.png differ diff --git a/res/drawable-mdpi/ic_action_rating_good_dark.png b/res/drawable-mdpi/ic_action_rating_good_dark.png new file mode 100644 index 00000000..cadfbe1e Binary files /dev/null and b/res/drawable-mdpi/ic_action_rating_good_dark.png differ diff --git a/res/drawable-mdpi/ic_action_rating_good_light.png b/res/drawable-mdpi/ic_action_rating_good_light.png new file mode 100644 index 00000000..75711920 Binary files /dev/null and b/res/drawable-mdpi/ic_action_rating_good_light.png differ diff --git a/res/drawable-mdpi/ic_menu_bookmark_selected.png b/res/drawable-mdpi/ic_menu_bookmark_selected.png new file mode 100644 index 00000000..efcc1afa Binary files /dev/null and b/res/drawable-mdpi/ic_menu_bookmark_selected.png differ diff --git a/res/drawable-xhdpi/ic_action_rating_bad_dark.png b/res/drawable-xhdpi/ic_action_rating_bad_dark.png new file mode 100644 index 00000000..1393be0c Binary files /dev/null and b/res/drawable-xhdpi/ic_action_rating_bad_dark.png differ diff --git a/res/drawable-xhdpi/ic_action_rating_bad_light.png b/res/drawable-xhdpi/ic_action_rating_bad_light.png new file mode 100644 index 00000000..fc1959b6 Binary files /dev/null and b/res/drawable-xhdpi/ic_action_rating_bad_light.png differ diff --git a/res/drawable-xhdpi/ic_action_rating_bad_selected.png b/res/drawable-xhdpi/ic_action_rating_bad_selected.png new file mode 100644 index 00000000..cf7802d5 Binary files /dev/null and b/res/drawable-xhdpi/ic_action_rating_bad_selected.png differ diff --git a/res/drawable-xhdpi/ic_action_rating_good_dark.png b/res/drawable-xhdpi/ic_action_rating_good_dark.png new file mode 100644 index 00000000..249ea9ec Binary files /dev/null and b/res/drawable-xhdpi/ic_action_rating_good_dark.png differ diff --git a/res/drawable-xhdpi/ic_action_rating_good_light.png b/res/drawable-xhdpi/ic_action_rating_good_light.png new file mode 100644 index 00000000..c8a776b0 Binary files /dev/null and b/res/drawable-xhdpi/ic_action_rating_good_light.png differ diff --git a/res/drawable-xhdpi/ic_menu_bookmark_selected.png b/res/drawable-xhdpi/ic_menu_bookmark_selected.png new file mode 100644 index 00000000..353b7b79 Binary files /dev/null and b/res/drawable-xhdpi/ic_menu_bookmark_selected.png differ diff --git a/res/drawable-xxhdpi/ic_action_rating_bad_dark.png b/res/drawable-xxhdpi/ic_action_rating_bad_dark.png new file mode 100644 index 00000000..d784b239 Binary files /dev/null and b/res/drawable-xxhdpi/ic_action_rating_bad_dark.png differ diff --git a/res/drawable-xxhdpi/ic_action_rating_bad_light.png b/res/drawable-xxhdpi/ic_action_rating_bad_light.png new file mode 100644 index 00000000..a1484d25 Binary files /dev/null and b/res/drawable-xxhdpi/ic_action_rating_bad_light.png differ diff --git a/res/drawable-xxhdpi/ic_action_rating_bad_selected.png b/res/drawable-xxhdpi/ic_action_rating_bad_selected.png new file mode 100644 index 00000000..13218a08 Binary files /dev/null and b/res/drawable-xxhdpi/ic_action_rating_bad_selected.png differ diff --git a/res/drawable-xxhdpi/ic_action_rating_good_dark.png b/res/drawable-xxhdpi/ic_action_rating_good_dark.png new file mode 100644 index 00000000..a332a632 Binary files /dev/null and b/res/drawable-xxhdpi/ic_action_rating_good_dark.png differ diff --git a/res/drawable-xxhdpi/ic_action_rating_good_light.png b/res/drawable-xxhdpi/ic_action_rating_good_light.png new file mode 100644 index 00000000..2ef75765 Binary files /dev/null and b/res/drawable-xxhdpi/ic_action_rating_good_light.png differ diff --git a/res/drawable-xxhdpi/ic_menu_bookmark_selected.png b/res/drawable-xxhdpi/ic_menu_bookmark_selected.png new file mode 100644 index 00000000..a1890fbb Binary files /dev/null and b/res/drawable-xxhdpi/ic_menu_bookmark_selected.png differ diff --git a/res/layout-land/download.xml b/res/layout-land/download.xml index eb876be0..c17abbc4 100644 --- a/res/layout-land/download.xml +++ b/res/layout-land/download.xml @@ -64,6 +64,11 @@ android:layout_height="wrap_content" android:layout_gravity="center_horizontal"> + +