diff --git a/app/src/main/java/org/linphone/ui/assistant/viewmodel/AccountCreationViewModel.kt b/app/src/main/java/org/linphone/ui/assistant/viewmodel/AccountCreationViewModel.kt
index 493470f9f..db9ba778e 100644
--- a/app/src/main/java/org/linphone/ui/assistant/viewmodel/AccountCreationViewModel.kt
+++ b/app/src/main/java/org/linphone/ui/assistant/viewmodel/AccountCreationViewModel.kt
@@ -442,9 +442,9 @@ class AccountCreationViewModel
operationInProgress.postValue(true)
createEnabled.postValue(false)
- val usernameValue = username.value
- val passwordValue = password.value
- if (usernameValue.isNullOrEmpty() || passwordValue.isNullOrEmpty()) {
+ val usernameValue = username.value.orEmpty().trim()
+ val passwordValue = password.value.orEmpty().trim()
+ if (usernameValue.isEmpty() || passwordValue.isEmpty()) {
Log.e("$TAG Either username [$usernameValue] or password is null or empty!")
return
}
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 285b0c42f..67b93e15b 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
@@ -172,6 +172,8 @@ open class AccountLoginViewModel
"sip:$userInput@$defaultDomain"
}
}
+ Log.i("$TAG Computed identity is [$identity] from user input [$userInput]")
+
val identityAddress = Factory.instance().createAddress(identity)
if (identityAddress == null) {
Log.e("$TAG Can't parse [$identity] as Address!")
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 de69daf2f..e1676881f 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
@@ -181,21 +181,21 @@ class ThirdPartySipAccountLoginViewModel
// Allow to enter SIP identity instead of simply username
// in case identity domain doesn't match proxy domain
- val user = username.value.orEmpty().trim()
- val userId = authId.value.orEmpty().trim()
- val identity = if (user.startsWith("sip:")) {
- if (user.contains("@")) {
- user
- } else {
- "$user@$domain"
- }
- } else {
- if (user.contains("@")) {
- "sip:$user"
- } else {
- "sip:$user@$domain"
- }
+ var user = username.value.orEmpty().trim()
+ if (user.startsWith("sip:")) {
+ user = user.substring("sip:".length)
+ } else if (user.startsWith("sips:")) {
+ user = user.substring("sips:".length)
}
+ if (user.contains("@")) {
+ user = user.split("@")[0]
+ }
+
+ val userId = authId.value.orEmpty().trim()
+
+ Log.i("$TAG Parsed username is [$user], user ID [$userId] and domain [$domain]")
+
+ val identity = "sip:$user@$domain"
val identityAddress = Factory.instance().createAddress(identity)
if (identityAddress == null) {
Log.e("$TAG Can't parse [$identity] as Address!")
diff --git a/app/src/main/res/layout-sw600dp/assistant_third_party_sip_account_login_fragment.xml b/app/src/main/res/layout-sw600dp/assistant_third_party_sip_account_login_fragment.xml
index 43490d289..19598da8d 100644
--- a/app/src/main/res/layout-sw600dp/assistant_third_party_sip_account_login_fragment.xml
+++ b/app/src/main/res/layout-sw600dp/assistant_third_party_sip_account_login_fragment.xml
@@ -74,11 +74,11 @@
android:layout_marginStart="16dp"
android:layout_marginEnd="16dp"
android:layout_marginTop="16dp"
- android:text="@string/assistant_third_party_sip_account_username_or_identity"
+ android:text="@{@string/username + `*`}"
app:layout_constraintVertical_chainStyle="packed"
app:layout_constraintTop_toBottomOf="@id/title"
app:layout_constraintBottom_toTopOf="@id/username"
- app:layout_constraintStart_toStartOf="@id/title"/>
+ app:layout_constraintStart_toStartOf="@id/username"/>
diff --git a/app/src/main/res/layout/assistant_third_party_sip_account_login_fragment.xml b/app/src/main/res/layout/assistant_third_party_sip_account_login_fragment.xml
index 0a21b8b29..224bb3f38 100644
--- a/app/src/main/res/layout/assistant_third_party_sip_account_login_fragment.xml
+++ b/app/src/main/res/layout/assistant_third_party_sip_account_login_fragment.xml
@@ -55,7 +55,7 @@
android:layout_marginTop="38dp"
android:layout_marginStart="16dp"
android:layout_marginEnd="16dp"
- android:text="@string/assistant_third_party_sip_account_username_or_identity"
+ android:text="@{@string/username + `*`}"
app:layout_constraintTop_toBottomOf="@id/title"
app:layout_constraintStart_toStartOf="@id/username"/>
@@ -87,7 +87,7 @@
android:layout_marginStart="16dp"
android:layout_marginEnd="16dp"
android:layout_marginTop="16dp"
- android:text="@string/password"
+ android:text="@{@string/password + `*`}"
app:layout_constraintTop_toBottomOf="@id/username"
app:layout_constraintStart_toStartOf="@id/password"/>
diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml
index 22f3c3670..aee2eb2ef 100644
--- a/app/src/main/res/values-fr/strings.xml
+++ b/app/src/main/res/values-fr/strings.xml
@@ -119,7 +119,6 @@
Certaines fonctionnalités telles que les conversations de groupe, les vidéo-conférences, etc… nécessitent un compte &appName;.\n\nCes fonctionnalités seront masquées si vous utilisez un compte SIP tiers.\n\nPour les activer dans un projet commercial, merci de nous contacter.
Je préfère créer un compte
J\'ai compris
- Nom d\'utilisateur ou identité SIP*
Notifications push indisponible, la création de compte est donc désactivée.
Notification push non reçue, merci de réessayer plus tard
Un erreur inattendue est survenue, merci de réessayer plus tard
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 567b02e0a..8fbc07dc6 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -158,7 +158,6 @@
Some features require a &appName; account, such as group messaging, video conferences…\n\nThese features are hidden when you register with a third party SIP account.\n\nTo enable it in a commercial project, please contact us.
I prefer to create an account
I understand
- Username or SIP identity*
Push notifications not available, account creation disabled
Push notification with auth token not received in 5 seconds, please try again later
Unexpected error occurred, please try again later