Commit 58ed2664 authored by Filipe de Lima Brito's avatar Filipe de Lima Brito

Better handling exception.

It goes to TwoFA screen if TOPT is requiried.
parent cc896775
...@@ -11,6 +11,7 @@ import chat.rocket.android.server.domain.model.Account ...@@ -11,6 +11,7 @@ import chat.rocket.android.server.domain.model.Account
import chat.rocket.android.server.infraestructure.RocketChatClientFactory import chat.rocket.android.server.infraestructure.RocketChatClientFactory
import chat.rocket.android.util.extensions.* import chat.rocket.android.util.extensions.*
import chat.rocket.common.RocketChatException import chat.rocket.common.RocketChatException
import chat.rocket.common.RocketChatTwoFactorException
import chat.rocket.common.model.Token import chat.rocket.common.model.Token
import chat.rocket.common.util.ifNull import chat.rocket.common.util.ifNull
import chat.rocket.core.RocketChatClient import chat.rocket.core.RocketChatClient
...@@ -219,10 +220,17 @@ class LoginPresenter @Inject constructor(private val view: LoginView, ...@@ -219,10 +220,17 @@ class LoginPresenter @Inject constructor(private val view: LoginView,
registerPushToken() registerPushToken()
navigator.toChatList() navigator.toChatList()
} catch (exception: RocketChatException) { } catch (exception: RocketChatException) {
exception.message?.let { when (exception) {
view.showMessage(it) is RocketChatTwoFactorException -> {
}.ifNull { navigator.toTwoFA(usernameOrEmail, password)
view.showGenericErrorMessage() }
else -> {
exception.message?.let {
view.showMessage(it)
}.ifNull {
view.showGenericErrorMessage()
}
}
} }
} finally { } finally {
view.hideLoading() view.hideLoading()
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment