From 9c855ef923670befa2cb27dfcecefe524ff9f88f Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Wed, 24 Apr 2024 13:35:50 +0200 Subject: [PATCH] Improved Linphone login adding automatically default domain to username if not entered by user --- .../viewmodel/AccountLoginViewModel.kt | 21 +++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) 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 359a18d69..adb3875ac 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 @@ -132,8 +132,22 @@ open class AccountLoginViewModel @UiThread constructor() : ViewModel() { coreContext.postOnCoreThread { core -> core.loadConfigFromXml(corePreferences.linphoneDefaultValuesPath) - val identity = sipIdentity.value.orEmpty().trim() - val identityAddress = core.interpretUrl(identity, false) + val userInput = sipIdentity.value.orEmpty().trim() + val defaultDomain = corePreferences.defaultDomain + val identity = if (userInput.startsWith("sip:")) { + if (userInput.contains("@")) { + userInput + } else { + "$userInput@$defaultDomain" + } + } else { + if (userInput.contains("@")) { + "sip:$userInput" + } else { + "sip:$userInput@$defaultDomain" + } + } + val identityAddress = Factory.instance().createAddress(identity) if (identityAddress == null) { Log.e("$TAG Can't parse [$identity] as Address!") // TODO: show error @@ -185,6 +199,9 @@ open class AccountLoginViewModel @UiThread constructor() : ViewModel() { registrationInProgress.postValue(true) core.addListener(coreListener) + Log.i( + "$TAG Trying to log in account with SIP identity [${identityAddress.asStringUriOnly()}]" + ) core.addAccount(newlyCreatedAccount) } }