From be52ea6f18e6b0997f4617a163bda7fec6bf4dd0 Mon Sep 17 00:00:00 2001 From: Jobobby04 Date: Mon, 18 Oct 2021 23:11:35 -0400 Subject: [PATCH] Maybe fix a few crashes related to mangadex logins --- .../exh/md/network/MangaDexLoginHelper.kt | 19 +++++++++++-------- app/src/main/java/exh/md/utils/MdUtil.kt | 6 ++---- 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/app/src/main/java/exh/md/network/MangaDexLoginHelper.kt b/app/src/main/java/exh/md/network/MangaDexLoginHelper.kt index ba88c2f0b..45a70134c 100644 --- a/app/src/main/java/exh/md/network/MangaDexLoginHelper.kt +++ b/app/src/main/java/exh/md/network/MangaDexLoginHelper.kt @@ -12,7 +12,6 @@ import exh.md.utils.MdUtil import exh.util.seconds import kotlinx.coroutines.CancellationException import kotlinx.coroutines.withTimeoutOrNull -import kotlinx.serialization.encodeToString class MangaDexLoginHelper(val authServiceLazy: Lazy, val preferences: PreferencesHelper, val mdList: MdList) { val authService by authServiceLazy @@ -31,7 +30,7 @@ class MangaDexLoginHelper(val authServiceLazy: Lazy, val pr } val refresh = runCatching { val jsonResponse = authService.refreshToken(RefreshTokenDto(refreshToken)) - preferences.trackToken(mdList).set(MdUtil.jsonParser.encodeToString(jsonResponse.token)) + MdUtil.updateLoginToken(jsonResponse.token, preferences, mdList) } val e = refresh.exceptionOrNull() @@ -52,12 +51,16 @@ class MangaDexLoginHelper(val authServiceLazy: Lazy, val pr if (e is CancellationException) throw e val loginResponseDto = loginResult.getOrNull() - MdUtil.updateLoginToken( - loginResponseDto?.token, - preferences, - mdList - ) - loginResponseDto != null + if (loginResponseDto != null) { + MdUtil.updateLoginToken( + loginResponseDto.token, + preferences, + mdList + ) + true + } else { + false + } } } diff --git a/app/src/main/java/exh/md/utils/MdUtil.kt b/app/src/main/java/exh/md/utils/MdUtil.kt index cb2d338b2..f39936847 100644 --- a/app/src/main/java/exh/md/utils/MdUtil.kt +++ b/app/src/main/java/exh/md/utils/MdUtil.kt @@ -300,10 +300,8 @@ class MdUtil { fun refreshToken(preferences: PreferencesHelper, mdList: MdList) = getLoginBody(preferences, mdList)?.refresh - fun updateLoginToken(token: LoginBodyTokenDto?, preferences: PreferencesHelper, mdList: MdList) { - if (token != null) { - preferences.trackToken(mdList).set(jsonParser.encodeToString(token)) - } else preferences.trackToken(mdList).delete() + fun updateLoginToken(token: LoginBodyTokenDto, preferences: PreferencesHelper, mdList: MdList) { + preferences.trackToken(mdList).set(jsonParser.encodeToString(token)) } fun getAuthHeaders(headers: Headers, preferences: PreferencesHelper, mdList: MdList) =