From 464865c091392bf93b465e4d45bfffd59a6b518d Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Fri, 29 Sep 2023 21:35:28 +0200 Subject: [PATCH] Shorten selected country in account creation spinner --- .../ui/assistant/fragment/RegisterFragment.kt | 12 ++++++++++-- .../assistant/viewmodel/AccountCreationViewModel.kt | 5 +++++ app/src/main/res/layout/drop_down_item.xml | 4 +--- 3 files changed, 16 insertions(+), 5 deletions(-) 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 5950616ef..3abb582dd 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 @@ -30,6 +30,7 @@ import android.view.ViewGroup import android.widget.AdapterView import android.widget.ArrayAdapter import androidx.annotation.UiThread +import androidx.appcompat.widget.AppCompatTextView import androidx.fragment.app.Fragment import androidx.lifecycle.lifecycleScope import androidx.navigation.fragment.findNavController @@ -167,11 +168,18 @@ class RegisterFragment : Fragment() { } coreContext.postOnCoreThread { - val adapter = ArrayAdapter( + val adapter = object : ArrayAdapter( requireContext(), R.layout.drop_down_item, viewModel.dialPlansLabelList - ) + ) { + override fun getView(position: Int, convertView: View?, parent: ViewGroup): View { + val view = convertView ?: super.getView(position, convertView, parent) + val label = viewModel.dialPlansShortLabelList[position] + (view as? AppCompatTextView)?.text = label + return view + } + } adapter.setDropDownViewResource(R.layout.assistant_country_picker_dropdown_cell) val dialPlan = PhoneNumberUtils.getDeviceDialPlan(requireContext()) 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 10bdcfc14..91c943b3a 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 @@ -67,6 +67,8 @@ class AccountCreationViewModel @UiThread constructor() : ViewModel() { val dialPlansLabelList = arrayListOf() + val dialPlansShortLabelList = arrayListOf() + val dialPlansList = arrayListOf() val selectedDialPlan = MutableLiveData() @@ -285,6 +287,9 @@ class AccountCreationViewModel @UiThread constructor() : ViewModel() { dialPlansLabelList.add( "${dialPlan.flag} ${dialPlan.country} | +${dialPlan.countryCallingCode}" ) + dialPlansShortLabelList.add( + "${dialPlan.flag} +${dialPlan.countryCallingCode}" + ) } accountCreator = core.createAccountCreator(core.accountCreatorUrl) diff --git a/app/src/main/res/layout/drop_down_item.xml b/app/src/main/res/layout/drop_down_item.xml index 2e946dc1b..e71685b77 100644 --- a/app/src/main/res/layout/drop_down_item.xml +++ b/app/src/main/res/layout/drop_down_item.xml @@ -8,6 +8,4 @@ android:layout_marginBottom="15dp" android:textSize="14sp" android:textColor="@color/gray_main2_600" - android:gravity="center_vertical" - android:singleLine="true" - android:ellipsize="marquee"/> \ No newline at end of file + android:gravity="center_vertical"/> \ No newline at end of file