From 586dcbf8a423ae6c23b4abb0cf68c554084e5506 Mon Sep 17 00:00:00 2001 From: Kevin Whitaker Date: Fri, 20 Nov 2015 00:44:21 -0500 Subject: [PATCH] Migrate to Xstream to prevent too many changes. Still have memory issue, but some flexibility to still find away around it. --- app/build.gradle | 6 ++-- .../api/MagnatuneAlbumsConverter.java | 17 +++++++--- .../model/AlbumResponse.java | 10 +++--- .../model/xml/Album.java | 33 +++++++++---------- .../model/xml/Track.java | 33 +++++++++---------- 5 files changed, 50 insertions(+), 49 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index e420075..bcfa6ed 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -29,9 +29,7 @@ dependencies { compile 'com.squareup.picasso:picasso:2.5.2' //Apache 2.0 compile 'com.github.thorbenprimke:realm-recyclerview:0.9.5' //Apache 2.0 compile 'com.squareup.retrofit:retrofit:2.0.0-beta2' //Apache 2.0 - compile ('com.squareup.retrofit:converter-simplexml:2.0.0-beta2') { - exclude group: 'xpp3', module: 'xpp3' - exclude group: 'stax', module: 'stax-api' - exclude group: 'stax', module: 'stax' + compile ('com.thoughtworks.xstream:xstream:1.4.7') { //BSD + exclude group: 'xmlpull' } } 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 cbc97e1..99824ff 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 @@ -1,10 +1,12 @@ package com.magnatune.eyecreate.companionformagnatune.api; import com.magnatune.eyecreate.companionformagnatune.model.AlbumResponse; +import com.magnatune.eyecreate.companionformagnatune.model.xml.Album; +import com.magnatune.eyecreate.companionformagnatune.model.xml.Track; import com.squareup.okhttp.ResponseBody; - -import org.simpleframework.xml.Serializer; -import org.simpleframework.xml.core.Persister; +import com.thoughtworks.xstream.XStream; +import com.thoughtworks.xstream.converters.basic.DateConverter; +import com.thoughtworks.xstream.io.xml.Xpp3Driver; import java.io.IOException; import java.util.zip.GZIPInputStream; @@ -15,10 +17,15 @@ public class MagnatuneAlbumsConverter implements Converter albums; } diff --git a/app/src/main/java/com/magnatune/eyecreate/companionformagnatune/model/xml/Album.java b/app/src/main/java/com/magnatune/eyecreate/companionformagnatune/model/xml/Album.java index d536f35..42b0f6e 100644 --- a/app/src/main/java/com/magnatune/eyecreate/companionformagnatune/model/xml/Album.java +++ b/app/src/main/java/com/magnatune/eyecreate/companionformagnatune/model/xml/Album.java @@ -1,51 +1,50 @@ package com.magnatune.eyecreate.companionformagnatune.model.xml; -import org.simpleframework.xml.Element; -import org.simpleframework.xml.ElementList; -import org.simpleframework.xml.Root; +import com.thoughtworks.xstream.annotations.XStreamAlias; +import com.thoughtworks.xstream.annotations.XStreamImplicit; +import com.thoughtworks.xstream.annotations.XStreamOmitField; import java.util.Date; import java.util.List; -@Root(name="Album",strict = false) +@XStreamAlias("Album") public class Album { - @Element + public String artist; - @Element + public String artistdesc; - @Element + public String cover_small; - @Element + public String artistphoto; - @Element + public String albumname; - @Element + public int year; - @Element(required = false) public String album_notes; - @Element + public String mp3genre; - @Element + public String home; - @Element + public String magnatunegenres; - @Element + public Date launchdate; - @Element + public String albumsku; - @ElementList(inline=true,type=Track.class) + @XStreamImplicit(itemFieldName = "Track") public List tracks; } diff --git a/app/src/main/java/com/magnatune/eyecreate/companionformagnatune/model/xml/Track.java b/app/src/main/java/com/magnatune/eyecreate/companionformagnatune/model/xml/Track.java index 5f01873..00e135e 100644 --- a/app/src/main/java/com/magnatune/eyecreate/companionformagnatune/model/xml/Track.java +++ b/app/src/main/java/com/magnatune/eyecreate/companionformagnatune/model/xml/Track.java @@ -1,49 +1,48 @@ package com.magnatune.eyecreate.companionformagnatune.model.xml; -import org.simpleframework.xml.Element; -import org.simpleframework.xml.Root; +import com.thoughtworks.xstream.annotations.XStreamAlias; -@Root(name="Track",strict = false) +@XStreamAlias("Track") public class Track { - @Element + public String artist; - @Element + public String artistbio; - @Element + public String albumname; - @Element + public String trackname; - @Element + public int tracknum; - @Element + public int year; - @Element + public String mp3genre; - @Element + public String magnatunegenres; - @Element + public String license; - @Element + public long seconds; - @Element + public String url; - @Element + public String mp3lofi; - @Element + public String oggurl; - @Element + public String isrc; } -- GitLab