/** * Copyright (C) 2016 eBusiness Information * * This file is part of OSM Contributor. * * OSM Contributor is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * OSM Contributor is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with OSM Contributor. If not, see <http://www.gnu.org/licenses/>. */ package io.jawg.osmcontributor.modules; import com.google.gson.Gson; import com.google.gson.GsonBuilder; import com.squareup.okhttp.OkHttpClient; import org.joda.time.DateTime; import javax.inject.Singleton; import dagger.Module; import dagger.Provides; import io.jawg.osmcontributor.rest.clients.H2GeoPresetsRestClient; import io.jawg.osmcontributor.rest.mappers.JodaTimeDateTimeDeserializer; import retrofit.RestAdapter; import retrofit.android.AndroidLog; import retrofit.client.OkClient; import retrofit.converter.GsonConverter; @Module @Singleton public class PresetsModule { @Provides H2GeoPresetsRestClient getH2GeoPresetsRestClient(OkHttpClient okHttpClient) { Gson gson = new GsonBuilder() .registerTypeAdapter(DateTime.class, new JodaTimeDateTimeDeserializer()) .create(); return new RestAdapter.Builder() .setConverter(new GsonConverter(gson)) .setEndpoint("https://jawg.github.io/h2geo-presets/") .setClient(new OkClient(okHttpClient)) .setLogLevel(RestAdapter.LogLevel.FULL).setLog(new AndroidLog("-------------------->")) .build() .create(H2GeoPresetsRestClient.class); } }