From f172826116df17e9204f25e4da30ebd9b0a95079 Mon Sep 17 00:00:00 2001 From: ismailnurudeen Date: Wed, 12 Apr 2023 14:07:00 +0100 Subject: [PATCH 1/3] fix: shortcut using wrong number --- .../com/simplemobiletools/dialer/adapters/ContactsAdapter.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 34f5aded..d9a6b254 100644 --- a/app/src/main/kotlin/com/simplemobiletools/dialer/adapters/ContactsAdapter.kt +++ b/app/src/main/kotlin/com/simplemobiletools/dialer/adapters/ContactsAdapter.kt @@ -247,7 +247,7 @@ class ContactsAdapter( activity.handlePermission(PERMISSION_CALL_PHONE) { hasPermission -> val action = if (hasPermission) Intent.ACTION_CALL else Intent.ACTION_DIAL val intent = Intent(action).apply { - data = Uri.fromParts("tel", contact.phoneNumbers.first().normalizedNumber, null) + data = Uri.fromParts("tel", getSelectedPhoneNumber(), null) } val shortcut = ShortcutInfo.Builder(activity, contact.hashCode().toString()) From 87afcc86b1cbbc11aedd59f881c4711df93eab28 Mon Sep 17 00:00:00 2001 From: ismailnurudeen Date: Thu, 13 Apr 2023 10:24:10 +0100 Subject: [PATCH 2/3] fix: dialpad call confirmation --- .../dialer/activities/DialpadActivity.kt | 26 ++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/dialer/activities/DialpadActivity.kt b/app/src/main/kotlin/com/simplemobiletools/dialer/activities/DialpadActivity.kt index 69a8da8c..7e2621cc 100644 --- a/app/src/main/kotlin/com/simplemobiletools/dialer/activities/DialpadActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/dialer/activities/DialpadActivity.kt @@ -20,6 +20,7 @@ import android.view.ViewConfiguration import androidx.core.content.res.ResourcesCompat import androidx.core.view.isVisible import com.reddit.indicatorfastscroll.FastScrollItemIndicator +import com.simplemobiletools.commons.dialogs.CallConfirmationDialog import com.simplemobiletools.commons.extensions.* import com.simplemobiletools.commons.helpers.* import com.simplemobiletools.commons.models.contacts.Contact @@ -287,7 +288,14 @@ class DialpadActivity : SimpleActivity() { }) ContactsAdapter(this, filtered, dialpad_list, null, text) { - startCallIntent((it as Contact).phoneNumbers.first().normalizedNumber) + val contact = it as Contact + if (config.showCallConfirmation) { + CallConfirmationDialog(this@DialpadActivity, contact.getNameToDisplay()) { + startCallIntent(contact.phoneNumbers.first().normalizedNumber) + } + }else{ + startCallIntent(contact.phoneNumbers.first().normalizedNumber) + } }.apply { dialpad_list.adapter = this } @@ -306,9 +314,21 @@ class DialpadActivity : SimpleActivity() { private fun initCall(number: String = dialpad_input.value, handleIndex: Int) { if (number.isNotEmpty()) { if (handleIndex != -1 && areMultipleSIMsAvailable()) { - callContactWithSim(number, handleIndex == 0) + if (config.showCallConfirmation) { + CallConfirmationDialog(this, number) { + callContactWithSim(number, handleIndex == 0) + } + }else{ + callContactWithSim(number, handleIndex == 0) + } } else { - startCallIntent(number) + if (config.showCallConfirmation) { + CallConfirmationDialog(this, number) { + startCallIntent(number) + } + }else{ + startCallIntent(number) + } } } } From e2455d8cf0a52df5b3e5d747e2d0b4a0122d6ab0 Mon Sep 17 00:00:00 2001 From: ismailnurudeen Date: Tue, 18 Apr 2023 18:06:34 +0100 Subject: [PATCH 3/3] fix: always dial primary number by default --- .../simplemobiletools/dialer/activities/DialpadActivity.kt | 6 +++--- .../simplemobiletools/dialer/adapters/ContactsAdapter.kt | 4 +--- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/dialer/activities/DialpadActivity.kt b/app/src/main/kotlin/com/simplemobiletools/dialer/activities/DialpadActivity.kt index 7e2621cc..1510132b 100644 --- a/app/src/main/kotlin/com/simplemobiletools/dialer/activities/DialpadActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/dialer/activities/DialpadActivity.kt @@ -291,10 +291,10 @@ class DialpadActivity : SimpleActivity() { val contact = it as Contact if (config.showCallConfirmation) { CallConfirmationDialog(this@DialpadActivity, contact.getNameToDisplay()) { - startCallIntent(contact.phoneNumbers.first().normalizedNumber) + startCallIntent(contact.getPrimaryNumber() ?: return@CallConfirmationDialog) } - }else{ - startCallIntent(contact.phoneNumbers.first().normalizedNumber) + } else { + startCallIntent(contact.getPrimaryNumber() ?: return@ContactsAdapter) } }.apply { dialpad_list.adapter = this 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 d9a6b254..c2ee834d 100644 --- a/app/src/main/kotlin/com/simplemobiletools/dialer/adapters/ContactsAdapter.kt +++ b/app/src/main/kotlin/com/simplemobiletools/dialer/adapters/ContactsAdapter.kt @@ -224,9 +224,7 @@ class ContactsAdapter( private fun getSelectedItems() = contacts.filter { selectedKeys.contains(it.rawId) } as ArrayList private fun getSelectedPhoneNumber(): String? { - val numbers = getSelectedItems().firstOrNull()?.phoneNumbers - val primaryNumber = numbers?.firstOrNull { it.isPrimary } - return primaryNumber?.normalizedNumber ?: numbers?.firstOrNull()?.normalizedNumber + return getSelectedItems().firstOrNull()?.getPrimaryNumber() } private fun tryCreateShortcut() {