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 01d80a054..3067024b3 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 @@ -25,6 +25,7 @@ import org.linphone.R import org.linphone.core.* import org.linphone.core.tools.Log import org.linphone.utils.Event +import org.linphone.utils.PhoneNumberUtils class AccountLoginViewModelFactory(private val accountCreator: AccountCreator) : ViewModelProvider.NewInstanceFactory() { @@ -220,6 +221,18 @@ class AccountLoginViewModel(accountCreator: AccountCreator) : AbstractPhoneViewM proxyConfig.isPushNotificationAllowed = true + if (proxyConfig.dialPrefix.isNullOrEmpty()) { + val dialPlan = PhoneNumberUtils.getDialPlanForCurrentCountry(coreContext.context) + if (dialPlan != null) { + Log.i("[Assistant] [Account Login] Found dial plan country ${dialPlan.country} with international prefix ${dialPlan.countryCallingCode}") + proxyConfig.edit() + proxyConfig.dialPrefix = dialPlan.countryCallingCode + proxyConfig.done() + } else { + Log.w("[Assistant] [Account Login] Failed to find dial plan") + } + } + Log.i("[Assistant] [Account Login] Proxy config created") return true } diff --git a/app/src/main/java/org/linphone/activities/assistant/viewmodels/EmailAccountValidationViewModel.kt b/app/src/main/java/org/linphone/activities/assistant/viewmodels/EmailAccountValidationViewModel.kt index 6032efaeb..1f67ba43d 100644 --- a/app/src/main/java/org/linphone/activities/assistant/viewmodels/EmailAccountValidationViewModel.kt +++ b/app/src/main/java/org/linphone/activities/assistant/viewmodels/EmailAccountValidationViewModel.kt @@ -22,11 +22,13 @@ package org.linphone.activities.assistant.viewmodels import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewModel import androidx.lifecycle.ViewModelProvider +import org.linphone.LinphoneApplication import org.linphone.core.AccountCreator import org.linphone.core.AccountCreatorListenerStub import org.linphone.core.ProxyConfig import org.linphone.core.tools.Log import org.linphone.utils.Event +import org.linphone.utils.PhoneNumberUtils class EmailAccountValidationViewModelFactory(private val accountCreator: AccountCreator) : ViewModelProvider.NewInstanceFactory() { @@ -106,6 +108,18 @@ class EmailAccountValidationViewModel(val accountCreator: AccountCreator) : View proxyConfig.isPushNotificationAllowed = true + if (proxyConfig.dialPrefix.isNullOrEmpty()) { + val dialPlan = PhoneNumberUtils.getDialPlanForCurrentCountry(LinphoneApplication.coreContext.context) + if (dialPlan != null) { + Log.i("[Assistant] [Account Validation] Found dial plan country ${dialPlan.country} with international prefix ${dialPlan.countryCallingCode}") + proxyConfig.edit() + proxyConfig.dialPrefix = dialPlan.countryCallingCode + proxyConfig.done() + } else { + Log.w("[Assistant] [Account Validation] Failed to find dial plan") + } + } + Log.i("[Assistant] [Account Validation] Proxy config created") return true } diff --git a/app/src/main/java/org/linphone/core/CorePreferences.kt b/app/src/main/java/org/linphone/core/CorePreferences.kt index 30046c867..d423b10eb 100644 --- a/app/src/main/java/org/linphone/core/CorePreferences.kt +++ b/app/src/main/java/org/linphone/core/CorePreferences.kt @@ -424,8 +424,10 @@ class CorePreferences constructor(private val context: Context) { val fetchContactsFromDefaultDirectory: Boolean get() = config.getBool("app", "fetch_contacts_from_default_directory", true) + // From Android Contact APIs we can also retrieve the internationalized phone number + // By default we display the same value as the native address book app val preferNormalizedPhoneNumbersFromAddressBook: Boolean - get() = config.getBool("app", "prefer_normalized_phone_numbers_from_address_book", true) + get() = config.getBool("app", "prefer_normalized_phone_numbers_from_address_book", false) val hideStaticImageCamera: Boolean get() = config.getBool("app", "hide_static_image_camera", true)