From ab7f39e6675a743f40c3a5e9d72adb5bccecb1ec Mon Sep 17 00:00:00 2001 From: Yahor Berdnikau Date: Sun, 20 Aug 2017 14:54:08 +0200 Subject: [PATCH] Use new api call to get music directory. Signed-off-by: Yahor Berdnikau --- .../ultrasonic/service/RESTMusicService.java | 31 +++++++++++-------- 1 file changed, 18 insertions(+), 13 deletions(-) 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 ac2d3878..03e8d482 100644 --- a/ultrasonic/src/main/java/org/moire/ultrasonic/service/RESTMusicService.java +++ b/ultrasonic/src/main/java/org/moire/ultrasonic/service/RESTMusicService.java @@ -58,6 +58,7 @@ import org.moire.ultrasonic.R; import org.moire.ultrasonic.api.subsonic.SubsonicAPIClient; import org.moire.ultrasonic.api.subsonic.response.GetArtistsResponse; import org.moire.ultrasonic.api.subsonic.response.GetIndexesResponse; +import org.moire.ultrasonic.api.subsonic.response.GetMusicDirectoryResponse; import org.moire.ultrasonic.api.subsonic.response.LicenseResponse; import org.moire.ultrasonic.api.subsonic.response.MusicFoldersResponse; import org.moire.ultrasonic.api.subsonic.response.SubsonicResponse; @@ -350,19 +351,23 @@ public class RESTMusicService implements MusicService checkResponseSuccessful(response); } - @Override - public MusicDirectory getMusicDirectory(String id, String name, boolean refresh, Context context, ProgressListener progressListener) throws Exception - { - Reader reader = getReader(context, progressListener, "getMusicDirectory", null, "id", id); - try - { - return new MusicDirectoryParser(context).parse(name, reader, progressListener, false); - } - finally - { - Util.close(reader); - } - } + @Override + public MusicDirectory getMusicDirectory(String id, + String name, + boolean refresh, + Context context, + ProgressListener progressListener) throws Exception { + if (id == null) { + throw new IllegalArgumentException("Id should not be null!"); + } + + updateProgressListener(progressListener, R.string.parser_reading); + Response response = subsonicAPIClient.getApi() + .getMusicDirectory(Long.valueOf(id)).execute(); + checkResponseSuccessful(response); + + return APIConverter.toDomainEntity(response.body().getMusicDirectory()); + } @Override public MusicDirectory getArtist(String id, String name, boolean refresh, Context context, ProgressListener progressListener) throws Exception