diff --git a/app/src/main/java/eu/kanade/tachiyomi/source/online/all/MangaDex.kt b/app/src/main/java/eu/kanade/tachiyomi/source/online/all/MangaDex.kt index 02f793677..65e271bae 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/source/online/all/MangaDex.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/source/online/all/MangaDex.kt @@ -78,7 +78,7 @@ class MangaDex(delegate: HttpSource, val context: Context) : context.getSharedPreferences("source_$id", 0x0000) } - val mangadexAuthServiceLazy = lazy { MangaDexAuthService(baseHttpClient, headers, preferences, mdList) } + private val mangadexAuthServiceLazy = lazy { MangaDexAuthService(baseHttpClient, headers, preferences, mdList) } private val loginHelper = MangaDexLoginHelper(mangadexAuthServiceLazy, preferences, mdList) diff --git a/app/src/main/java/exh/md/network/NoSessionException.kt b/app/src/main/java/exh/md/network/NoSessionException.kt index fad50935b..5954e8bf6 100644 --- a/app/src/main/java/exh/md/network/NoSessionException.kt +++ b/app/src/main/java/exh/md/network/NoSessionException.kt @@ -1,3 +1,5 @@ package exh.md.network -class NoSessionException : IllegalArgumentException("Session token does not exist") +import java.io.IOException + +class NoSessionException : IOException("Session token does not exist") diff --git a/app/src/main/java/exh/md/service/MangaDexAuthService.kt b/app/src/main/java/exh/md/service/MangaDexAuthService.kt index 586ad63b9..6fef869a0 100644 --- a/app/src/main/java/exh/md/service/MangaDexAuthService.kt +++ b/app/src/main/java/exh/md/service/MangaDexAuthService.kt @@ -19,6 +19,7 @@ import exh.md.dto.ResultDto import exh.md.utils.MdApi import exh.md.utils.MdConstants import exh.md.utils.MdUtil +import okhttp3.Authenticator import okhttp3.CacheControl import okhttp3.Headers import okhttp3.OkHttpClient @@ -30,6 +31,10 @@ class MangaDexAuthService( private val preferences: PreferencesHelper, private val mdList: MdList ) { + private val noAuthenticatorClient = client.newBuilder() + .authenticator(Authenticator.NONE) + .build() + fun getHeaders() = MdUtil.getAuthHeaders( headers, preferences, @@ -37,7 +42,7 @@ class MangaDexAuthService( ) suspend fun login(request: LoginRequestDto): LoginResponseDto { - return client.newCall( + return noAuthenticatorClient.newCall( POST( MdApi.login, body = MdUtil.encodeToBody(request), @@ -57,7 +62,7 @@ class MangaDexAuthService( } suspend fun checkToken(): CheckTokenDto { - return client.newCall( + return noAuthenticatorClient.newCall( GET( MdApi.checkToken, getHeaders(), @@ -67,7 +72,7 @@ class MangaDexAuthService( } suspend fun refreshToken(request: RefreshTokenDto): LoginResponseDto { - return client.newCall( + return noAuthenticatorClient.newCall( POST( MdApi.refreshToken, getHeaders(),