diff --git a/app/src/main/java/org/linphone/ui/assistant/viewmodel/AccountLoginViewModel.kt b/app/src/main/java/org/linphone/ui/assistant/viewmodel/AccountLoginViewModel.kt index 6f6055921..3cd685458 100644 --- a/app/src/main/java/org/linphone/ui/assistant/viewmodel/AccountLoginViewModel.kt +++ b/app/src/main/java/org/linphone/ui/assistant/viewmodel/AccountLoginViewModel.kt @@ -26,13 +26,16 @@ import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewModel import org.linphone.LinphoneApplication.Companion.coreContext import org.linphone.LinphoneApplication.Companion.corePreferences +import org.linphone.R import org.linphone.core.Account import org.linphone.core.AuthInfo import org.linphone.core.Core import org.linphone.core.CoreListenerStub import org.linphone.core.Factory +import org.linphone.core.Reason import org.linphone.core.RegistrationState import org.linphone.core.tools.Log +import org.linphone.utils.AppUtils import org.linphone.utils.Event class AccountLoginViewModel @UiThread constructor() : ViewModel() { @@ -82,8 +85,19 @@ class AccountLoginViewModel @UiThread constructor() : ViewModel() { } else if (state == RegistrationState.Failed) { registrationInProgress.postValue(false) core.removeListener(this) - // TODO: show translated string - accountLoginErrorEvent.postValue(Event(message)) + + val error = when (account.error) { + Reason.Forbidden -> { + AppUtils.getString(R.string.assistant_account_login_forbidden_error) + } + else -> { + AppUtils.getFormattedString( + R.string.assistant_account_login_error, + account.error.toInt() + ) + } + } + accountLoginErrorEvent.postValue(Event(error)) Log.e("$TAG Account failed to REGISTER [$message], removing it") core.removeAuthInfo(newlyCreatedAuthInfo) diff --git a/app/src/main/java/org/linphone/ui/assistant/viewmodel/ThirdPartySipAccountLoginViewModel.kt b/app/src/main/java/org/linphone/ui/assistant/viewmodel/ThirdPartySipAccountLoginViewModel.kt index ac148db4d..eb5cb7a90 100644 --- a/app/src/main/java/org/linphone/ui/assistant/viewmodel/ThirdPartySipAccountLoginViewModel.kt +++ b/app/src/main/java/org/linphone/ui/assistant/viewmodel/ThirdPartySipAccountLoginViewModel.kt @@ -26,14 +26,17 @@ import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewModel import org.linphone.LinphoneApplication.Companion.coreContext import org.linphone.LinphoneApplication.Companion.corePreferences +import org.linphone.R import org.linphone.core.Account import org.linphone.core.AuthInfo import org.linphone.core.Core import org.linphone.core.CoreListenerStub import org.linphone.core.Factory +import org.linphone.core.Reason import org.linphone.core.RegistrationState import org.linphone.core.TransportType import org.linphone.core.tools.Log +import org.linphone.utils.AppUtils import org.linphone.utils.Event class ThirdPartySipAccountLoginViewModel @UiThread constructor() : ViewModel() { @@ -93,8 +96,19 @@ class ThirdPartySipAccountLoginViewModel @UiThread constructor() : ViewModel() { } else if (state == RegistrationState.Failed) { registrationInProgress.postValue(false) core.removeListener(this) - // TODO: show translated string - accountLoginErrorEvent.postValue(Event(message)) + + val error = when (account.error) { + Reason.Forbidden -> { + AppUtils.getString(R.string.assistant_account_login_forbidden_error) + } + else -> { + AppUtils.getFormattedString( + R.string.assistant_account_login_error, + account.error.toInt() + ) + } + } + accountLoginErrorEvent.postValue(Event(error)) Log.e("$TAG Account failed to REGISTER [$message], removing it") core.removeAuthInfo(newlyCreatedAuthInfo) @@ -118,7 +132,7 @@ class ThirdPartySipAccountLoginViewModel @UiThread constructor() : ViewModel() { loginEnabled.value = isLoginButtonEnabled() } - // TODO: handle formatting errors + // TODO: handle formatting errors ? availableTransports.add(UDP) availableTransports.add(TCP) diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 16d7cc43c..58f29aa83 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -129,6 +129,8 @@ Failed to create account, error %i Push notification with auth token not received in 5 seconds, please try again later Unexpected error occurred, please try again later + Wrong username or password + Failed to login: error code is %i Manage the profile Connected