From cc7befe62bf4fe044a034fab4e31db3cfd1f310c Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Tue, 16 Mar 2021 16:25:14 +0100 Subject: [PATCH] Display error to user in Linphone login assistant form --- .../assistant/viewmodels/AccountLoginViewModel.kt | 14 ++++++++------ .../layout/assistant_account_login_fragment.xml | 2 ++ 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/org/linphone/activities/assistant/viewmodels/AccountLoginViewModel.kt b/app/src/main/java/org/linphone/activities/assistant/viewmodels/AccountLoginViewModel.kt index ad31fdd6b..856f10d54 100644 --- a/app/src/main/java/org/linphone/activities/assistant/viewmodels/AccountLoginViewModel.kt +++ b/app/src/main/java/org/linphone/activities/assistant/viewmodels/AccountLoginViewModel.kt @@ -39,8 +39,10 @@ class AccountLoginViewModel(accountCreator: AccountCreator) : AbstractPhoneViewM val loginWithUsernamePassword = MutableLiveData() val username = MutableLiveData() + val usernameError = MutableLiveData() val password = MutableLiveData() + val passwordError = MutableLiveData() val loginEnabled: MediatorLiveData = MediatorLiveData() @@ -148,7 +150,7 @@ class AccountLoginViewModel(accountCreator: AccountCreator) : AbstractPhoneViewM val result = accountCreator.setUsername(username.value) if (result != AccountCreator.UsernameStatus.Ok) { Log.e("[Assistant] [Account Login] Error [${result.name}] setting the username: ${username.value}") - // TODO: show error + usernameError.value = result.name return } Log.i("[Assistant] [Account Login] Username is ${accountCreator.username}") @@ -156,7 +158,7 @@ class AccountLoginViewModel(accountCreator: AccountCreator) : AbstractPhoneViewM val result2 = accountCreator.setPassword(password.value) if (result2 != AccountCreator.PasswordStatus.Ok) { Log.e("[Assistant] [Account Login] Error [${result2.name}] setting the password") - // TODO: show error + passwordError.value = result2.name return } @@ -168,10 +170,10 @@ class AccountLoginViewModel(accountCreator: AccountCreator) : AbstractPhoneViewM // TODO: show error } } else { - val result = accountCreator.setPhoneNumber(phoneNumber.value, prefix.value) - if (result != AccountCreator.PhoneNumberStatus.Ok.toInt()) { + val result = AccountCreator.PhoneNumberStatus.fromInt(accountCreator.setPhoneNumber(phoneNumber.value, prefix.value)) + if (result != AccountCreator.PhoneNumberStatus.Ok) { Log.e("[Assistant] [Account Login] Error [$result] setting the phone number: ${phoneNumber.value} with prefix: ${prefix.value}") - // TODO: show error + phoneNumberError.value = result.name return } Log.i("[Assistant] [Account Login] Phone number is ${accountCreator.phoneNumber}") @@ -179,7 +181,7 @@ class AccountLoginViewModel(accountCreator: AccountCreator) : AbstractPhoneViewM val result2 = accountCreator.setUsername(accountCreator.phoneNumber) if (result2 != AccountCreator.UsernameStatus.Ok) { Log.e("[Assistant] [Account Login] Error [${result2.name}] setting the username: ${accountCreator.phoneNumber}") - // TODO: show error + usernameError.value = result2.name return } Log.i("[Assistant] [Account Login] Username is ${accountCreator.username}") diff --git a/app/src/main/res/layout/assistant_account_login_fragment.xml b/app/src/main/res/layout/assistant_account_login_fragment.xml index f5ee6d8c2..584e4dbf0 100644 --- a/app/src/main/res/layout/assistant_account_login_fragment.xml +++ b/app/src/main/res/layout/assistant_account_login_fragment.xml @@ -175,6 +175,7 @@ android:hint="@string/username">