public class ApiFactory {
private static ApiFactory apiFactory;
private static OkHttpClient client;
private static Retrofit retrofit;
private static final String BASE_URL = "
https://api.weatherbit.io/v2.0/";
public ApiFactory() {
client = new OkHttpClient.Builder()
.connectTimeout(100, TimeUnit.SECONDS)
.readTimeout(100,TimeUnit.SECONDS).build();
retrofit = new Retrofit.Builder()
.addConverterFactory(GsonConverterFactory.create())
.addCallAdapterFactory(RxJava2CallAdapterFactory.create())
.baseUrl(BASE_URL)
.client(client)
.build();
}
public static ApiFactory getInstance(){
if (apiFactory == null){
apiFactory = new ApiFactory();
}
return apiFactory;
}
public ApiServices getApiService(){
return retrofit.create(ApiServices.class);
}
}