Use new subsonic api getAlbumList() method.

Signed-off-by: Yahor Berdnikau <egorr.berd@gmail.com>
This commit is contained in:
Yahor Berdnikau 2017-09-14 22:34:30 +02:00
parent 8e895685fc
commit 69ac8551c6

View File

@ -56,7 +56,9 @@ import org.apache.http.protocol.ExecutionContext;
import org.apache.http.protocol.HttpContext; import org.apache.http.protocol.HttpContext;
import org.moire.ultrasonic.R; import org.moire.ultrasonic.R;
import org.moire.ultrasonic.api.subsonic.SubsonicAPIClient; import org.moire.ultrasonic.api.subsonic.SubsonicAPIClient;
import org.moire.ultrasonic.api.subsonic.models.AlbumListType;
import org.moire.ultrasonic.api.subsonic.models.MusicDirectoryChild; import org.moire.ultrasonic.api.subsonic.models.MusicDirectoryChild;
import org.moire.ultrasonic.api.subsonic.response.GetAlbumListResponse;
import org.moire.ultrasonic.api.subsonic.response.GetAlbumResponse; import org.moire.ultrasonic.api.subsonic.response.GetAlbumResponse;
import org.moire.ultrasonic.api.subsonic.response.GetArtistResponse; import org.moire.ultrasonic.api.subsonic.response.GetArtistResponse;
import org.moire.ultrasonic.api.subsonic.response.GetArtistsResponse; import org.moire.ultrasonic.api.subsonic.response.GetArtistsResponse;
@ -653,21 +655,28 @@ public class RESTMusicService implements MusicService
checkResponseSuccessful(response); checkResponseSuccessful(response);
} }
@Override @Override
public MusicDirectory getAlbumList(String type, int size, int offset, Context context, ProgressListener progressListener) throws Exception public MusicDirectory getAlbumList(String type,
{ int size,
checkServerVersion(context, "1.2", "Album list not supported."); int offset,
Context context,
ProgressListener progressListener) throws Exception {
if (type == null) {
throw new IllegalArgumentException("Type is null!");
}
Reader reader = getReader(context, progressListener, "getAlbumList", null, asList("type", "size", "offset"), Arrays.<Object>asList(type, size, offset)); updateProgressListener(progressListener, R.string.parser_reading);
try Response<GetAlbumListResponse> response = subsonicAPIClient.getApi()
{ .getAlbumList(AlbumListType.fromName(type), size, offset, null,
return new AlbumListParser(context).parse(reader, progressListener, false); null, null, null).execute();
} checkResponseSuccessful(response);
finally
{ List<MusicDirectory.Entry> childList = APIMusicDirectoryConverter
Util.close(reader); .toDomainEntityList(response.body().getAlbumList());
} MusicDirectory result = new MusicDirectory();
} result.addAll(childList);
return result;
}
@Override @Override
public MusicDirectory getAlbumList2(String type, int size, int offset, Context context, ProgressListener progressListener) throws Exception public MusicDirectory getAlbumList2(String type, int size, int offset, Context context, ProgressListener progressListener) throws Exception