From c58554ec75020b702abea7642f66ecc17ca5bace Mon Sep 17 00:00:00 2001 From: Jobobby04 Date: Fri, 3 Jun 2022 19:08:15 -0400 Subject: [PATCH] Minor cleanup (cherry picked from commit b71b9ab5518d9c8b3ec4c24b791ed35f1a44e8e0) --- app/src/main/java/exh/md/network/MangaDexLoginHelper.kt | 4 ++-- app/src/main/java/exh/md/network/TokenAuthenticator.kt | 7 ++++++- app/src/main/java/exh/patch/NetworkPatches.kt | 4 ++-- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/exh/md/network/MangaDexLoginHelper.kt b/app/src/main/java/exh/md/network/MangaDexLoginHelper.kt index 377616150..0c6a5f7c0 100644 --- a/app/src/main/java/exh/md/network/MangaDexLoginHelper.kt +++ b/app/src/main/java/exh/md/network/MangaDexLoginHelper.kt @@ -13,8 +13,8 @@ import kotlinx.coroutines.CancellationException import kotlinx.coroutines.withTimeoutOrNull import kotlin.time.Duration.Companion.seconds -class MangaDexLoginHelper(val authServiceLazy: Lazy, val preferences: PreferencesHelper, val mdList: MdList) { - val authService by authServiceLazy +class MangaDexLoginHelper(authServiceLazy: Lazy, val preferences: PreferencesHelper, val mdList: MdList) { + private val authService by authServiceLazy suspend fun isAuthenticated(): Boolean { return runCatching { authService.checkToken().isAuthenticated } .getOrElse { e -> diff --git a/app/src/main/java/exh/md/network/TokenAuthenticator.kt b/app/src/main/java/exh/md/network/TokenAuthenticator.kt index 9279d6780..69d6619c0 100644 --- a/app/src/main/java/exh/md/network/TokenAuthenticator.kt +++ b/app/src/main/java/exh/md/network/TokenAuthenticator.kt @@ -7,12 +7,17 @@ import okhttp3.Authenticator import okhttp3.Request import okhttp3.Response import okhttp3.Route +import java.io.IOException class TokenAuthenticator(private val loginHelper: MangaDexLoginHelper) : Authenticator { override fun authenticate(route: Route?, response: Response): Request? { xLogI("Detected Auth error ${response.code} on ${response.request.url}") - val token = refreshToken(loginHelper) + val token = try { + refreshToken(loginHelper) + } catch (e: Exception) { + throw IOException(e) + } return if (token != null) { response.request.newBuilder().header("Authorization", token).build() } else { diff --git a/app/src/main/java/exh/patch/NetworkPatches.kt b/app/src/main/java/exh/patch/NetworkPatches.kt index 50cce6bb2..a716b16c1 100644 --- a/app/src/main/java/exh/patch/NetworkPatches.kt +++ b/app/src/main/java/exh/patch/NetworkPatches.kt @@ -20,8 +20,8 @@ fun OkHttpClient.Builder.injectPatches(sourceIdProducer: () -> Long): OkHttpClie fun findAndApplyPatches(sourceId: Long): EHInterceptor { // TODO make it so captcha doesnt auto open in manga eden while applying universal interceptors - return if (Injekt.get().autoSolveCaptcha().get()) ((EH_INTERCEPTORS[sourceId].orEmpty()) + (EH_INTERCEPTORS[EH_UNIVERSAL_INTERCEPTOR].orEmpty())).merge() - else (EH_INTERCEPTORS[sourceId].orEmpty()).merge() + return if (Injekt.get().autoSolveCaptcha().get()) (EH_INTERCEPTORS[sourceId].orEmpty() + EH_INTERCEPTORS[EH_UNIVERSAL_INTERCEPTOR].orEmpty()).merge() + else EH_INTERCEPTORS[sourceId].orEmpty().merge() } fun List.merge(): EHInterceptor {