Bernat Borrás-Paronella Petit e4f87edccb Fix Authorization with fingerprint
2017-03-12 14:26:47 +01:00

57 lines
2.0 KiB
Java

package com.fastaccess.provider.rest;
import android.support.annotation.NonNull;
import com.fastaccess.BuildConfig;
import com.fastaccess.data.LoginRestService;
import com.fastaccess.data.service.UserRestService;
import com.fastaccess.provider.rest.converters.GithubResponseConverter;
import com.fastaccess.provider.rest.interceptors.AuthenticationInterceptor;
import com.google.gson.FieldNamingPolicy;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import java.lang.reflect.Modifier;
import okhttp3.OkHttpClient;
import okhttp3.logging.HttpLoggingInterceptor;
import retrofit2.Retrofit;
import retrofit2.adapter.rxjava.RxJavaCallAdapterFactory;
/**
* Created by Kosh on 08 Feb 2017, 8:37 PM
*/
public class LoginProvider {
private final static Gson gson = new GsonBuilder()
.setFieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES)
.excludeFieldsWithModifiers(Modifier.FINAL, Modifier.TRANSIENT, Modifier.STATIC)
.setDateFormat("yyyy-MM-dd HH:mm:ss")
.setPrettyPrinting()
.create();
private static OkHttpClient provideOkHttpClient(@NonNull String authToken) {
OkHttpClient.Builder client = new OkHttpClient.Builder();
if (BuildConfig.DEBUG) {
client.addInterceptor(new HttpLoggingInterceptor()
.setLevel(HttpLoggingInterceptor.Level.BODY));
}
client.addInterceptor(new AuthenticationInterceptor(authToken));
return client.build();
}
private static Retrofit provideRetrofit(@NonNull String authToken) {
return new Retrofit.Builder()
.baseUrl(BuildConfig.REST_URL)
.client(provideOkHttpClient(authToken))
.addConverterFactory(new GithubResponseConverter(gson))
.addCallAdapterFactory(RxJavaCallAdapterFactory.create())
.build();
}
@NonNull public static LoginRestService getLoginRestService(@NonNull String authToken) {
return provideRetrofit(authToken).create(LoginRestService.class);
}
}