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 7e456b1d..506c1021 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.api.subsonic.SubsonicAPIClient; import org.moire.ultrasonic.api.subsonic.models.AlbumListType; import org.moire.ultrasonic.api.subsonic.models.JukeboxAction; import org.moire.ultrasonic.api.subsonic.models.MusicDirectoryChild; +import org.moire.ultrasonic.api.subsonic.response.ChatMessagesResponse; import org.moire.ultrasonic.api.subsonic.response.GenresResponse; import org.moire.ultrasonic.api.subsonic.response.GetAlbumList2Response; import org.moire.ultrasonic.api.subsonic.response.GetAlbumListResponse; @@ -86,6 +87,7 @@ import org.moire.ultrasonic.api.subsonic.response.StreamResponse; import org.moire.ultrasonic.api.subsonic.response.SubsonicResponse; import org.moire.ultrasonic.data.APIAlbumConverter; import org.moire.ultrasonic.data.APIArtistConverter; +import org.moire.ultrasonic.data.APIChatMessageConverter; import org.moire.ultrasonic.data.APIIndexesConverter; import org.moire.ultrasonic.data.APIJukeboxConverter; import org.moire.ultrasonic.data.APILyricsConverter; @@ -1245,31 +1247,17 @@ public class RESTMusicService implements MusicService return APIUserConverter.toDomainEntity(response.body().getUser()); } - @Override - public List getChatMessages(Long since, Context context, ProgressListener progressListener) throws Exception - { - checkServerVersion(context, "1.2", "Chat not supported."); + @Override + public List getChatMessages(Long since, + Context context, + ProgressListener progressListener) throws Exception { + updateProgressListener(progressListener, R.string.parser_reading); + Response response = subsonicAPIClient.getApi() + .getChatMessages(since).execute(); + checkResponseSuccessful(response); - HttpParams params = new BasicHttpParams(); - HttpConnectionParams.setSoTimeout(params, SOCKET_READ_TIMEOUT_GET_RANDOM_SONGS); - - List parameterNames = new ArrayList(); - List parameterValues = new ArrayList(); - - parameterNames.add("since"); - parameterValues.add(since); - - Reader reader = getReader(context, progressListener, "getChatMessages", params, parameterNames, parameterValues); - - try - { - return new ChatMessageParser(context).parse(reader, progressListener); - } - finally - { - Util.close(reader); - } - } + return APIChatMessageConverter.toDomainEntitiesList(response.body().getChatMessages()); + } @Override public void addChatMessage(String message, Context context, ProgressListener progressListener) throws Exception