From d3944a84ab04ec81d3804141a5f90892ece6f8db Mon Sep 17 00:00:00 2001 From: tibbi Date: Fri, 24 Jun 2022 22:56:52 +0200 Subject: [PATCH] properly handle default numbers at SMS too --- .../dialer/adapters/ContactsAdapter.kt | 20 ++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/dialer/adapters/ContactsAdapter.kt b/app/src/main/kotlin/com/simplemobiletools/dialer/adapters/ContactsAdapter.kt index c8f76208..8968fc22 100644 --- a/app/src/main/kotlin/com/simplemobiletools/dialer/adapters/ContactsAdapter.kt +++ b/app/src/main/kotlin/com/simplemobiletools/dialer/adapters/ContactsAdapter.kt @@ -148,7 +148,7 @@ class ContactsAdapter( @SuppressLint("MissingPermission") private fun callContact(useSimOne: Boolean) { val number = getSelectedPhoneNumber() ?: return - activity.callContactWithSim(number.normalizedNumber, useSimOne) + activity.callContactWithSim(number, useSimOne) } private fun removeDefaultSIM() { @@ -158,7 +158,17 @@ class ContactsAdapter( } private fun sendSMS() { - val numbers = getSelectedItems().map { it.phoneNumbers.first() } + val numbers = ArrayList() + getSelectedItems().map { simpleContact -> + val contactNumbers = simpleContact.phoneNumbers + val primaryNumber = contactNumbers.firstOrNull { it.isPrimary } + val normalizedNumber = primaryNumber?.normalizedNumber ?: contactNumbers.firstOrNull()?.normalizedNumber + + if (normalizedNumber != null) { + numbers.add(normalizedNumber) + } + } + val recipient = TextUtils.join(";", numbers) activity.launchSendSMSIntent(recipient) } @@ -211,7 +221,11 @@ class ContactsAdapter( private fun getSelectedItems() = contacts.filter { selectedKeys.contains(it.rawId) } as ArrayList - private fun getSelectedPhoneNumber() = getSelectedItems().firstOrNull()?.phoneNumbers?.firstOrNull() + private fun getSelectedPhoneNumber(): String? { + val numbers = getSelectedItems().firstOrNull()?.phoneNumbers + val primaryNumber = numbers?.firstOrNull { it.isPrimary } + return primaryNumber?.normalizedNumber ?: numbers?.firstOrNull()?.normalizedNumber + } @SuppressLint("NewApi") private fun createShortcut() {