diff --git a/app/src/main/java/com/magnatune/eyecreate/companionformagnatune/api/MagnatuneAlbumsConverter.java b/app/src/main/java/com/magnatune/eyecreate/companionformagnatune/api/MagnatuneAlbumsConverter.java index 99824ffb9db3f44fb03ba9cd06176674809620e4..2c828955ccad658b7c8390aac2ca886320002b67 100644 --- a/app/src/main/java/com/magnatune/eyecreate/companionformagnatune/api/MagnatuneAlbumsConverter.java +++ b/app/src/main/java/com/magnatune/eyecreate/companionformagnatune/api/MagnatuneAlbumsConverter.java @@ -6,9 +6,13 @@ import com.magnatune.eyecreate.companionformagnatune.model.xml.Track; import com.squareup.okhttp.ResponseBody; import com.thoughtworks.xstream.XStream; import com.thoughtworks.xstream.converters.basic.DateConverter; -import com.thoughtworks.xstream.io.xml.Xpp3Driver; +import com.thoughtworks.xstream.io.xml.KXml2Driver; import java.io.IOException; +import java.io.ObjectInputStream; +import java.io.OptionalDataException; +import java.util.ArrayList; +import java.util.List; import java.util.zip.GZIPInputStream; import retrofit.Converter; @@ -17,18 +21,26 @@ public class MagnatuneAlbumsConverter implements Converter albums = new ArrayList<>(); + while(!processingDone) { + try { + albums.add((Album) objectStream.readObject()); + } catch(OptionalDataException e) { + processingDone = true; + } catch (ClassNotFoundException e) { + e.printStackTrace(); + } } - return conversion; + AlbumResponse response = new AlbumResponse(); + response.albums = albums; + return response; } }