Display error to user in Linphone login assistant form

This commit is contained in:
Sylvain Berfini 2021-03-16 16:25:14 +01:00
parent a03206bdd7
commit cc7befe62b
2 changed files with 10 additions and 6 deletions

View file

@ -39,8 +39,10 @@ class AccountLoginViewModel(accountCreator: AccountCreator) : AbstractPhoneViewM
val loginWithUsernamePassword = MutableLiveData<Boolean>()
val username = MutableLiveData<String>()
val usernameError = MutableLiveData<String>()
val password = MutableLiveData<String>()
val passwordError = MutableLiveData<String>()
val loginEnabled: MediatorLiveData<Boolean> = 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}")

View file

@ -175,6 +175,7 @@
android:hint="@string/username">
<com.google.android.material.textfield.TextInputEditText
errorMessage="@={viewModel.usernameError}"
android:text="@={viewModel.username}"
android:imeOptions="actionNext"
android:singleLine="true"
@ -192,6 +193,7 @@
android:hint="@string/password">
<com.google.android.material.textfield.TextInputEditText
errorMessage="@={viewModel.passwordError}"
android:text="@={viewModel.password}"
android:imeOptions="actionDone"
android:singleLine="true"