Untitled
unknown
plain_text
2 years ago
2.3 kB
11
Indexable
package com.example.agricarbonuk.accessor.common;
import android.content.Context;
import com.example.agricarbonuk.BuildConfig;
import com.example.agricarbonuk.accessor.AppConstantsAccessor;
import com.example.agricarbonuk.accessor.AppOperatorLogAccessor;
import com.example.agricarbonuk.accessor.AssignmentSearchAccessor;
import com.example.agricarbonuk.accessor.UserLoginAccessor;
import com.example.agricarbonuk.auth.AuthenticationInterceptor;
import com.example.agricarbonuk.auth.TokenAuthenticator;
import com.example.agricarbonuk.common.DateUtils;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import okhttp3.OkHttpClient;
import retrofit2.Retrofit;
import retrofit2.converter.gson.GsonConverterFactory;
/**
* Singleton class for Retrofit
*/
public class RetrofitInstance {
private static Retrofit retrofit = null;
private static Context context;
private static String BASE_URL = BuildConfig.WEB_SERVER_BASE_URL;
private static Gson gson = new GsonBuilder()
.setDateFormat(DateUtils.DATE_FORMAT_ONLY_DATE)
.registerTypeAdapter(Boolean.class, new BooleanTypeAdapter())
.create();
public static void initRetrofitInstance(Context context) {
OkHttpClient client = new OkHttpClient.Builder()
.addInterceptor(new AuthenticationInterceptor())
.addInterceptor(new ExceptionInterceptor())
.addInterceptor(new URLLoggerInterceptor())
.authenticator(new TokenAuthenticator(context))
.build();
retrofit = new Retrofit
.Builder()
.baseUrl(BASE_URL)
.client(client)
.addConverterFactory(GsonConverterFactory.create(gson))
.build();
}
public static AppOperatorLogAccessor getAppOperatorLogAccessor() {
return retrofit.create(AppOperatorLogAccessor.class);
}
public static AppConstantsAccessor getAppConstantsAccessor() {
return retrofit.create(AppConstantsAccessor.class);
}
public static AssignmentSearchAccessor getAssignmentSearchAccessor() {
return retrofit.create(AssignmentSearchAccessor.class);
}
public static UserLoginAccessor getUserLoginAccessor() {
return retrofit.create(UserLoginAccessor.class);
}
}Editor is loading...