From ef4653512aa18dafb890245fc902cbe1d6f873bf Mon Sep 17 00:00:00 2001 From: tibbi Date: Fri, 24 Jun 2022 22:40:24 +0200 Subject: [PATCH] properly handle default contact numbers at calling --- app/build.gradle | 2 +- .../dialer/fragments/FavoritesFragment.kt | 19 ++++++++++++------- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 1669aad1..48b303d4 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -61,6 +61,6 @@ android { } dependencies { - implementation 'com.github.SimpleMobileTools:Simple-Commons:b45fde5669' + implementation 'com.github.SimpleMobileTools:Simple-Commons:fd1fde1dbd' implementation 'com.github.tibbi:IndicatorFastScroll:4524cd0b61' } diff --git a/app/src/main/kotlin/com/simplemobiletools/dialer/fragments/FavoritesFragment.kt b/app/src/main/kotlin/com/simplemobiletools/dialer/fragments/FavoritesFragment.kt index ab89672b..8c6dc263 100644 --- a/app/src/main/kotlin/com/simplemobiletools/dialer/fragments/FavoritesFragment.kt +++ b/app/src/main/kotlin/com/simplemobiletools/dialer/fragments/FavoritesFragment.kt @@ -144,14 +144,19 @@ class FavoritesFragment(context: Context, attributeSet: AttributeSet) : MyViewPa if (phoneNumbers.size <= 1) { activity?.launchCallIntent(phoneNumbers.first().normalizedNumber) } else { - val items = ArrayList() - phoneNumbers.forEachIndexed { index, phoneNumber -> - val type = context.getPhoneNumberTypeText(phoneNumber.type, phoneNumber.label) - items.add(RadioItem(index, "${phoneNumber.normalizedNumber} ($type)", phoneNumber.normalizedNumber)) - } + val primaryNumber = simpleContact.phoneNumbers.find { it.isPrimary } + if (primaryNumber != null) { + activity?.launchCallIntent(primaryNumber.value) + } else { + val items = ArrayList() + phoneNumbers.forEachIndexed { index, phoneNumber -> + val type = context.getPhoneNumberTypeText(phoneNumber.type, phoneNumber.label) + items.add(RadioItem(index, "${phoneNumber.normalizedNumber} ($type)", phoneNumber.normalizedNumber)) + } - RadioGroupDialog(activity!!, items) { - activity?.launchCallIntent(it as String) + RadioGroupDialog(activity!!, items) { + activity?.launchCallIntent(it as String) + } } } }