diff --git a/app/src/main/java/org/linphone/ui/assistant/fragment/LandingFragment.kt b/app/src/main/java/org/linphone/ui/assistant/fragment/LandingFragment.kt index 1d44b5e61..43052f0fd 100644 --- a/app/src/main/java/org/linphone/ui/assistant/fragment/LandingFragment.kt +++ b/app/src/main/java/org/linphone/ui/assistant/fragment/LandingFragment.kt @@ -19,9 +19,11 @@ */ package org.linphone.ui.assistant.fragment +import android.content.Context import android.content.Intent import android.net.Uri import android.os.Bundle +import android.telephony.TelephonyManager import android.view.LayoutInflater import android.view.View import android.view.ViewGroup @@ -137,8 +139,10 @@ class LandingFragment : GenericFragment() { } } + val telephonyManager = requireContext().getSystemService(Context.TELEPHONY_SERVICE) as TelephonyManager + val countryIso = telephonyManager.networkCountryIso coreContext.postOnCoreThread { - val dialPlan = PhoneNumberUtils.getDeviceDialPlan(requireContext()) + val dialPlan = PhoneNumberUtils.getDeviceDialPlan(countryIso) if (dialPlan != null) { viewModel.internationalPrefix.postValue(dialPlan.countryCallingCode) viewModel.internationalPrefixIsoCountryCode.postValue(dialPlan.isoCountryCode) diff --git a/app/src/main/java/org/linphone/ui/assistant/fragment/RegisterFragment.kt b/app/src/main/java/org/linphone/ui/assistant/fragment/RegisterFragment.kt index 6a6fcfb4a..6682821e6 100644 --- a/app/src/main/java/org/linphone/ui/assistant/fragment/RegisterFragment.kt +++ b/app/src/main/java/org/linphone/ui/assistant/fragment/RegisterFragment.kt @@ -19,9 +19,11 @@ */ package org.linphone.ui.assistant.fragment +import android.content.Context import android.content.Intent import android.net.Uri import android.os.Bundle +import android.telephony.TelephonyManager import android.text.Editable import android.text.TextWatcher import android.view.LayoutInflater @@ -168,6 +170,8 @@ class RegisterFragment : GenericFragment() { } } + val telephonyManager = requireContext().getSystemService(Context.TELEPHONY_SERVICE) as TelephonyManager + val countryIso = telephonyManager.networkCountryIso coreContext.postOnCoreThread { val adapter = object : ArrayAdapter( requireContext(), @@ -183,7 +187,7 @@ class RegisterFragment : GenericFragment() { } adapter.setDropDownViewResource(R.layout.assistant_country_picker_dropdown_cell) - val dialPlan = PhoneNumberUtils.getDeviceDialPlan(requireContext()) + val dialPlan = PhoneNumberUtils.getDeviceDialPlan(countryIso) var default = 0 if (dialPlan != null) { viewModel.selectedDialPlan.postValue(dialPlan) diff --git a/app/src/main/java/org/linphone/ui/assistant/fragment/ThirdPartySipAccountLoginFragment.kt b/app/src/main/java/org/linphone/ui/assistant/fragment/ThirdPartySipAccountLoginFragment.kt index 99bbf1215..09c90c40d 100644 --- a/app/src/main/java/org/linphone/ui/assistant/fragment/ThirdPartySipAccountLoginFragment.kt +++ b/app/src/main/java/org/linphone/ui/assistant/fragment/ThirdPartySipAccountLoginFragment.kt @@ -19,7 +19,9 @@ */ package org.linphone.ui.assistant.fragment +import android.content.Context import android.os.Bundle +import android.telephony.TelephonyManager import android.view.LayoutInflater import android.view.View import android.view.ViewGroup @@ -141,8 +143,10 @@ class ThirdPartySipAccountLoginFragment : GenericFragment() { } } + val telephonyManager = requireContext().getSystemService(Context.TELEPHONY_SERVICE) as TelephonyManager + val countryIso = telephonyManager.networkCountryIso coreContext.postOnCoreThread { - val dialPlan = PhoneNumberUtils.getDeviceDialPlan(requireContext()) + val dialPlan = PhoneNumberUtils.getDeviceDialPlan(countryIso) if (dialPlan != null) { viewModel.internationalPrefix.postValue(dialPlan.countryCallingCode) viewModel.internationalPrefixIsoCountryCode.postValue(dialPlan.isoCountryCode) diff --git a/app/src/main/java/org/linphone/utils/PhoneNumberUtils.kt b/app/src/main/java/org/linphone/utils/PhoneNumberUtils.kt index a49f97b20..2123b072f 100644 --- a/app/src/main/java/org/linphone/utils/PhoneNumberUtils.kt +++ b/app/src/main/java/org/linphone/utils/PhoneNumberUtils.kt @@ -19,10 +19,8 @@ */ package org.linphone.utils -import android.content.Context import android.content.res.Resources import android.provider.ContactsContract -import android.telephony.TelephonyManager import androidx.annotation.AnyThread import androidx.annotation.WorkerThread import org.linphone.core.DialPlan @@ -34,9 +32,7 @@ class PhoneNumberUtils { private const val TAG = "[Phone Number Utils]" @WorkerThread - fun getDeviceDialPlan(context: Context): DialPlan? { - val telephonyManager = context.getSystemService(Context.TELEPHONY_SERVICE) as TelephonyManager - val countryIso = telephonyManager.networkCountryIso + fun getDeviceDialPlan(countryIso: String): DialPlan? { for (dp in Factory.instance().dialPlans) { if (dp.isoCountryCode.equals(countryIso, true)) { val prefix = dp.countryCallingCode