package com.mypopsy.floatingsearchview.demo.dagger; import com.squareup.okhttp.OkHttpClient; import com.squareup.okhttp.logging.HttpLoggingInterceptor; import javax.inject.Singleton; import dagger.Module; import dagger.Provides; import retrofit.Converter; import retrofit.GsonConverterFactory; import retrofit.Retrofit; import retrofit.RxJavaCallAdapterFactory; @Module public class RetrofitModule { @Provides @Singleton OkHttpClient provideHttpClient() { HttpLoggingInterceptor logging = new HttpLoggingInterceptor(); logging.setLevel(HttpLoggingInterceptor.Level.BODY); OkHttpClient httpClient = new OkHttpClient(); httpClient.interceptors().add(logging); return httpClient; } @Provides @Singleton Converter.Factory provideConverter() { return GsonConverterFactory.create(); } @Provides Retrofit.Builder provideRetrofitBuilder(OkHttpClient httpClient, Converter.Factory factory) { return new Retrofit.Builder() .client(httpClient) .addCallAdapterFactory(RxJavaCallAdapterFactory.create()) .addConverterFactory(factory); } }