Created
April 18, 2017 10:03
-
-
Save rimidalv/d263a4e3807800d0beca59805e81c1f7 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@Provides | |
// @Named("retrofit") | |
@Singleton | |
Retrofit getRetrofit(Gson gson, Retrofit.Builder builder) { | |
builder | |
.addConverterFactory(new ErrorParserFactory(gson)) | |
.addConverterFactory(GsonConverterFactory.create()); | |
Retrofit retrofit = builder.build(); | |
return retrofit; | |
} | |
@Provides | |
@Named("places") | |
@Singleton | |
Retrofit getRetrofitBuilderPlaces(OkHttpClient.Builder okHttpClientBuilder, ErrorPlaceParserFactory placeParserFactory) { | |
HttpLoggingInterceptor logger = new HttpLoggingInterceptor(); | |
logger.setLevel(HttpLoggingInterceptor.Level.HEADERS); | |
okHttpClientBuilder.addInterceptor(logger); | |
OkHttpClient okHttpClient = okHttpClientBuilder.build(); | |
Retrofit builder = new Retrofit.Builder() | |
.baseUrl(C.NET.API_BASE_URL) | |
.addCallAdapterFactory(RxJavaCallAdapterFactory.create()) | |
.client(okHttpClient) | |
.addConverterFactory(placeParserFactory) | |
.build(); | |
return builder; | |
} | |
@Provides | |
@Named("simple") | |
@Singleton | |
Retrofit getRetrofitSimple(OkHttpClient.Builder okHttpClientBuilder) { | |
HttpLoggingInterceptor logger = new HttpLoggingInterceptor(); | |
logger.setLevel(HttpLoggingInterceptor.Level.BODY); | |
okHttpClientBuilder.addInterceptor(logger); | |
OkHttpClient okHttpClient = okHttpClientBuilder.build(); | |
Retrofit.Builder builder = new Retrofit.Builder() | |
.baseUrl(C.NET.API_BASE_URL) | |
.addCallAdapterFactory(RxJavaCallAdapterFactory.create()) | |
.client(okHttpClient); | |
builder.addConverterFactory(GsonConverterFactory.create()); | |
Retrofit retrofit = builder.build(); | |
return retrofit; | |
} | |
@Provides | |
@Named("orders") | |
@Singleton | |
Retrofit getRetrofitOrders(Application context, Retrofit.Builder builder, GsonBuilder gsonBuilder) { | |
Gson gson = gsonBuilder | |
.registerTypeAdapter(JsonOrders.class, new OrderSerializer(context)) | |
.registerTypeAdapter(Date.class, new JsonDeserializer<Date>() { | |
public Date deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws JsonParseException { | |
return new Date(json.getAsJsonPrimitive().getAsLong()); | |
} | |
}).create(); | |
builder.addConverterFactory(new ErrorParserFactory(gson)); | |
Retrofit retrofit = builder.build(); | |
return retrofit; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment