package org.gdg.frisbee.android.api; import com.google.gson.FieldNamingPolicy; import org.gdg.frisbee.android.api.deserializer.ZuluDateTimeDeserializer; import org.gdg.frisbee.android.utils.Utils; import okhttp3.OkHttpClient; import retrofit2.Retrofit; import retrofit2.converter.gson.GsonConverterFactory; public final class GdgXHubFactory { private static final String BASE_URL = "https://hub.gdgx.io/api/v1/"; private GdgXHubFactory() { } private static Retrofit provideRestAdapter(OkHttpClient okHttpClient) { return new Retrofit.Builder() .baseUrl(BASE_URL) .client(okHttpClient) .addConverterFactory( GsonConverterFactory.create(Utils.getGson(FieldNamingPolicy.IDENTITY, new ZuluDateTimeDeserializer())) ) .build(); } public static GdgXHub provideHubApi(OkHttpClient okHttpClient) { return provideRestAdapter(okHttpClient).create(GdgXHub.class); } }