From c0cff10fa9327acecfc4f9c24822213c8d5610d4 Mon Sep 17 00:00:00 2001 From: Matthieu <24-artectrex@users.noreply.shinice.net> Date: Thu, 19 Aug 2021 14:35:14 +0200 Subject: [PATCH] Create api from user without side effect --- .../org/pixeldroid/app/utils/di/APIModule.kt | 22 ++----------------- 1 file changed, 2 insertions(+), 20 deletions(-) diff --git a/app/src/main/java/org/pixeldroid/app/utils/di/APIModule.kt b/app/src/main/java/org/pixeldroid/app/utils/di/APIModule.kt index 06ff09a8..813356d9 100644 --- a/app/src/main/java/org/pixeldroid/app/utils/di/APIModule.kt +++ b/app/src/main/java/org/pixeldroid/app/utils/di/APIModule.kt @@ -8,9 +8,7 @@ import dagger.Module import dagger.Provides import kotlinx.coroutines.runBlocking import okhttp3.* -import retrofit2.Retrofit -import retrofit2.adapter.rxjava2.RxJava2CallAdapterFactory -import retrofit2.converter.gson.GsonConverterFactory +import org.pixeldroid.app.utils.api.PixelfedAPI.Companion.apiForUser import javax.inject.Singleton @Module @@ -78,9 +76,6 @@ class TokenAuthenticator(val user: UserDatabaseEntity, val db: AppDatabase, val } class PixelfedAPIHolder(private val db: AppDatabase){ - private val intermediate: Retrofit.Builder = Retrofit.Builder() - .addConverterFactory(GsonConverterFactory.create()) - .addCallAdapterFactory(RxJava2CallAdapterFactory.create()) var api: PixelfedAPI? = db.userDao().getActiveUser()?.let { @@ -90,21 +85,8 @@ class PixelfedAPIHolder(private val db: AppDatabase){ fun setToCurrentUser( user: UserDatabaseEntity = db.userDao().getActiveUser()!! ): PixelfedAPI { - val newAPI = intermediate - .baseUrl(user.instance_uri) - .client( - OkHttpClient().newBuilder().authenticator(TokenAuthenticator(user, db, this)) - .addInterceptor { - it.request().newBuilder().run { - header("Accept", "application/json") - header("Authorization", "Bearer ${user.accessToken}") - it.proceed(build()) - } - }.build() - ) - .build().create(PixelfedAPI::class.java) + val newAPI = apiForUser(user, db, this) api = newAPI return newAPI } - } \ No newline at end of file