Fix HTML info decoding

This commit is contained in:
CappielloAntonio 2021-07-28 19:23:12 +02:00
parent 8f08b12b69
commit 80f30aa41a
9 changed files with 67 additions and 34 deletions

View file

@ -4,6 +4,8 @@ import android.util.Log;
import com.cappielloantonio.play.subsonic.Subsonic;
import com.cappielloantonio.play.subsonic.models.SubsonicResponse;
import com.tickaroo.tikxml.TikXml;
import com.tickaroo.tikxml.converter.htmlescape.HtmlEscapeStringConverter;
import com.tickaroo.tikxml.retrofit.TikXmlConverterFactory;
import okhttp3.OkHttpClient;
@ -23,7 +25,7 @@ public class AlbumSongListClient {
this.retrofit = new Retrofit.Builder()
.baseUrl(subsonic.getUrl())
.addConverterFactory(TikXmlConverterFactory.create())
.addConverterFactory(TikXmlConverterFactory.create(getParser()))
.client(getOkHttpClient())
.build();
@ -65,6 +67,12 @@ public class AlbumSongListClient {
return albumSongListService.getStarred2(subsonic.getParams());
}
private TikXml getParser() {
return new TikXml.Builder()
.addTypeConverter(String.class, new HtmlEscapeStringConverter()) // HtmlEscapeStringConverter encode / decode html characters. This class ships as optional dependency
.build();
}
private OkHttpClient getOkHttpClient() {
return new OkHttpClient.Builder()
.addInterceptor(getHttpLoggingInterceptor())

View file

@ -4,6 +4,8 @@ import android.util.Log;
import com.cappielloantonio.play.subsonic.Subsonic;
import com.cappielloantonio.play.subsonic.models.SubsonicResponse;
import com.tickaroo.tikxml.TikXml;
import com.tickaroo.tikxml.converter.htmlescape.HtmlEscapeStringConverter;
import com.tickaroo.tikxml.retrofit.TikXmlConverterFactory;
import okhttp3.OkHttpClient;
@ -23,7 +25,7 @@ public class BrowsingClient {
this.retrofit = new Retrofit.Builder()
.baseUrl(subsonic.getUrl())
.addConverterFactory(TikXmlConverterFactory.create())
.addConverterFactory(TikXmlConverterFactory.create(getParser()))
.client(getOkHttpClient())
.build();
@ -115,6 +117,12 @@ public class BrowsingClient {
return browsingService.getTopSongs(subsonic.getParams(), id, count);
}
private TikXml getParser() {
return new TikXml.Builder()
.addTypeConverter(String.class, new HtmlEscapeStringConverter()) // HtmlEscapeStringConverter encode / decode html characters. This class ships as optional dependency
.build();
}
private OkHttpClient getOkHttpClient() {
return new OkHttpClient.Builder()
.addInterceptor(getHttpLoggingInterceptor())

View file

@ -4,6 +4,8 @@ import android.util.Log;
import com.cappielloantonio.play.subsonic.Subsonic;
import com.cappielloantonio.play.subsonic.models.SubsonicResponse;
import com.tickaroo.tikxml.TikXml;
import com.tickaroo.tikxml.converter.htmlescape.HtmlEscapeStringConverter;
import com.tickaroo.tikxml.retrofit.TikXmlConverterFactory;
import okhttp3.OkHttpClient;
@ -23,7 +25,7 @@ public class MediaRetrievalClient {
this.retrofit = new Retrofit.Builder()
.baseUrl(subsonic.getUrl())
.addConverterFactory(TikXmlConverterFactory.create())
.addConverterFactory(TikXmlConverterFactory.create(getParser()))
.client(getOkHttpClient())
.build();
@ -40,6 +42,12 @@ public class MediaRetrievalClient {
return mediaRetrievalService.download(subsonic.getParams(), id);
}
private TikXml getParser() {
return new TikXml.Builder()
.addTypeConverter(String.class, new HtmlEscapeStringConverter()) // HtmlEscapeStringConverter encode / decode html characters. This class ships as optional dependency
.build();
}
private OkHttpClient getOkHttpClient() {
return new OkHttpClient.Builder()
.addInterceptor(getHttpLoggingInterceptor())

View file

@ -4,6 +4,8 @@ import android.util.Log;
import com.cappielloantonio.play.subsonic.Subsonic;
import com.cappielloantonio.play.subsonic.models.SubsonicResponse;
import com.tickaroo.tikxml.TikXml;
import com.tickaroo.tikxml.converter.htmlescape.HtmlEscapeStringConverter;
import com.tickaroo.tikxml.retrofit.TikXmlConverterFactory;
import okhttp3.OkHttpClient;
@ -23,7 +25,7 @@ public class PlaylistClient {
this.retrofit = new Retrofit.Builder()
.baseUrl(subsonic.getUrl())
.addConverterFactory(TikXmlConverterFactory.create())
.addConverterFactory(TikXmlConverterFactory.create(getParser()))
.client(getOkHttpClient())
.build();
@ -40,6 +42,12 @@ public class PlaylistClient {
return playlistService.getPlaylist(subsonic.getParams(), id);
}
private TikXml getParser() {
return new TikXml.Builder()
.addTypeConverter(String.class, new HtmlEscapeStringConverter()) // HtmlEscapeStringConverter encode / decode html characters. This class ships as optional dependency
.build();
}
private OkHttpClient getOkHttpClient() {
return new OkHttpClient.Builder()
.addInterceptor(getHttpLoggingInterceptor())

View file

@ -4,6 +4,8 @@ import android.util.Log;
import com.cappielloantonio.play.subsonic.Subsonic;
import com.cappielloantonio.play.subsonic.models.SubsonicResponse;
import com.tickaroo.tikxml.TikXml;
import com.tickaroo.tikxml.converter.htmlescape.HtmlEscapeStringConverter;
import com.tickaroo.tikxml.retrofit.TikXmlConverterFactory;
import okhttp3.OkHttpClient;
@ -23,7 +25,7 @@ public class SearchingClient {
this.retrofit = new Retrofit.Builder()
.baseUrl(subsonic.getUrl())
.addConverterFactory(TikXmlConverterFactory.create())
.addConverterFactory(TikXmlConverterFactory.create(getParser()))
.client(getOkHttpClient())
.build();
@ -40,6 +42,12 @@ public class SearchingClient {
return searchingService.search3(subsonic.getParams(), query);
}
private TikXml getParser() {
return new TikXml.Builder()
.addTypeConverter(String.class, new HtmlEscapeStringConverter()) // HtmlEscapeStringConverter encode / decode html characters. This class ships as optional dependency
.build();
}
private OkHttpClient getOkHttpClient() {
return new OkHttpClient.Builder()
.addInterceptor(getHttpLoggingInterceptor())

View file

@ -5,6 +5,7 @@ import android.util.Log;
import com.cappielloantonio.play.subsonic.Subsonic;
import com.cappielloantonio.play.subsonic.models.SubsonicResponse;
import com.tickaroo.tikxml.TikXml;
import com.tickaroo.tikxml.converter.htmlescape.HtmlEscapeStringConverter;
import com.tickaroo.tikxml.retrofit.TikXmlConverterFactory;
import okhttp3.OkHttpClient;
@ -24,7 +25,7 @@ public class SystemClient {
this.retrofit = new Retrofit.Builder()
.baseUrl(subsonic.getUrl())
.addConverterFactory(TikXmlConverterFactory.create())
.addConverterFactory(TikXmlConverterFactory.create(getParser()))
.client(getOkHttpClient())
.build();
@ -41,6 +42,12 @@ public class SystemClient {
return systemService.getLicense(subsonic.getParams());
}
private TikXml getParser() {
return new TikXml.Builder()
.addTypeConverter(String.class, new HtmlEscapeStringConverter()) // HtmlEscapeStringConverter encode / decode html characters. This class ships as optional dependency
.build();
}
private OkHttpClient getOkHttpClient() {
return new OkHttpClient.Builder()
.addInterceptor(getHttpLoggingInterceptor())