package com.boardgamegeek.io; import android.content.Context; import com.boardgamegeek.util.HttpUtils; import retrofit2.Retrofit; import retrofit2.converter.gson.GsonConverterFactory; import retrofit2.converter.simplexml.SimpleXmlConverterFactory; public class Adapter { public static BggService createForXml() { Retrofit.Builder builder = createBuilderWithoutConverterFactory(null); builder.addConverterFactory(SimpleXmlConverterFactory.createNonStrict()); return builder.build().create(BggService.class); } public static BggService createForXmlWithAuth(Context context) { Retrofit.Builder builder = createBuilderWithoutConverterFactory(context); builder.addConverterFactory(SimpleXmlConverterFactory.createNonStrict()); return builder.build().create(BggService.class); } public static BggService createForJson() { Retrofit.Builder builder = createBuilderWithoutConverterFactory(null); builder.addConverterFactory(GsonConverterFactory.create()); return builder.build().create(BggService.class); } private static Retrofit.Builder createBuilderWithoutConverterFactory(Context context) { okhttp3.OkHttpClient httpClient; if (context == null) { httpClient = HttpUtils.getHttpClient(); } else { httpClient = HttpUtils.getHttpClientWithAuth(context); } return new Retrofit.Builder() .baseUrl("https://www.boardgamegeek.com/") .client(httpClient); } }