From 5625cf374442f8ca7cf19fe1ecc8a111fa73e314 Mon Sep 17 00:00:00 2001 From: Aleksandr Zhukov Date: Tue, 25 Jul 2023 21:48:44 +0400 Subject: [PATCH] Don't fail auth flow if the url doesn't contain the code query parameter --- .../view/ui/widget/AuthSocialWebViewClient.kt | 25 ++++++++----------- 1 file changed, 11 insertions(+), 14 deletions(-) diff --git a/androidHyperskillApp/src/main/java/org/hyperskill/app/android/auth/view/ui/widget/AuthSocialWebViewClient.kt b/androidHyperskillApp/src/main/java/org/hyperskill/app/android/auth/view/ui/widget/AuthSocialWebViewClient.kt index 56bd8cb30d..2e37f3886d 100644 --- a/androidHyperskillApp/src/main/java/org/hyperskill/app/android/auth/view/ui/widget/AuthSocialWebViewClient.kt +++ b/androidHyperskillApp/src/main/java/org/hyperskill/app/android/auth/view/ui/widget/AuthSocialWebViewClient.kt @@ -26,26 +26,23 @@ class AuthSocialWebViewClient( request?.url?.let { url -> val urlString = url.toString() if (urlString.startsWith("https://${networkEndpointConfigInfo.host}/oauth?")) { - val message = try { - val codeQueryParameter = url.getQueryParameter(CodeParameter) - if (codeQueryParameter != null) { - AuthSocialWebViewFeature.Message.AuthCodeSuccess( - codeQueryParameter, - socialAuthProvider + try { + url.getQueryParameter(CodeParameter)?.let { codeQueryParameter -> + onNewMessage( + AuthSocialWebViewFeature.Message.AuthCodeSuccess( + codeQueryParameter, + socialAuthProvider + ) ) - } else { + } + } catch (e: UnsupportedOperationException) { + onNewMessage( AuthSocialWebViewFeature.Message.AuthCodeFailure( socialError = AuthSocialError.CONNECTION_PROBLEM, - originalError = IllegalStateException("No code query parameter in url") + originalError = e ) - } - } catch (e: UnsupportedOperationException) { - AuthSocialWebViewFeature.Message.AuthCodeFailure( - socialError = AuthSocialError.CONNECTION_PROBLEM, - originalError = e ) } - onNewMessage(message) } } return false