From a721ba7261e2bfccac9783ec534e4e794d9c5e9c Mon Sep 17 00:00:00 2001 From: tibbi Date: Thu, 31 Dec 2020 19:43:48 +0100 Subject: [PATCH] fix #66, allow undoing the "Always use this SIM" option --- .../dialer/adapters/ContactsAdapter.kt | 16 +++++++++++++-- .../dialer/adapters/RecentCallsAdapter.kt | 20 +++++++++++++++---- .../dialer/helpers/Config.kt | 4 ++++ app/src/main/res/menu/cab_contacts.xml | 4 ++++ app/src/main/res/menu/cab_recent_calls.xml | 4 ++++ 5 files changed, 42 insertions(+), 6 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 b7eb48f6..d4077339 100644 --- a/app/src/main/kotlin/com/simplemobiletools/dialer/adapters/ContactsAdapter.kt +++ b/app/src/main/kotlin/com/simplemobiletools/dialer/adapters/ContactsAdapter.kt @@ -27,6 +27,7 @@ import com.simplemobiletools.dialer.R import com.simplemobiletools.dialer.activities.SimpleActivity import com.simplemobiletools.dialer.extensions.areMultipleSIMsAvailable import com.simplemobiletools.dialer.extensions.callContactWithSim +import com.simplemobiletools.dialer.extensions.config import com.simplemobiletools.dialer.extensions.startContactDetailsIntent import com.simplemobiletools.dialer.interfaces.RefreshItemsListener @@ -45,10 +46,12 @@ class ContactsAdapter(activity: SimpleActivity, var contacts: ArrayList callContact(true) R.id.cab_call_sim_2 -> callContact(false) + R.id.cab_remove_default_sim -> removeDefaultSIM() R.id.cab_delete -> askConfirmDelete() R.id.cab_send_sms -> sendSMS() R.id.cab_view_details -> viewContactDetails() @@ -109,8 +113,14 @@ class ContactsAdapter(activity: SimpleActivity, var contacts: ArrayList + private fun getSelectedPhoneNumber() = getSelectedItems().firstOrNull()?.phoneNumbers?.firstOrNull() + @SuppressLint("NewApi") private fun createShortcut() { val contact = contacts.firstOrNull { selectedKeys.contains(it.rawId) } ?: return diff --git a/app/src/main/kotlin/com/simplemobiletools/dialer/adapters/RecentCallsAdapter.kt b/app/src/main/kotlin/com/simplemobiletools/dialer/adapters/RecentCallsAdapter.kt index 83b80ae0..51610c44 100644 --- a/app/src/main/kotlin/com/simplemobiletools/dialer/adapters/RecentCallsAdapter.kt +++ b/app/src/main/kotlin/com/simplemobiletools/dialer/adapters/RecentCallsAdapter.kt @@ -19,6 +19,7 @@ import com.simplemobiletools.dialer.R import com.simplemobiletools.dialer.activities.SimpleActivity import com.simplemobiletools.dialer.extensions.areMultipleSIMsAvailable import com.simplemobiletools.dialer.extensions.callContactWithSim +import com.simplemobiletools.dialer.extensions.config import com.simplemobiletools.dialer.helpers.RecentsHelper import com.simplemobiletools.dialer.interfaces.RefreshItemsListener import com.simplemobiletools.dialer.models.RecentCall @@ -45,10 +46,12 @@ class RecentCallsAdapter(activity: SimpleActivity, var recentCalls: ArrayList callContact(true) R.id.cab_call_sim_2 -> callContact(false) + R.id.cab_remove_default_sim -> removeDefaultSIM() R.id.cab_block_number -> askConfirmBlock() R.id.cab_add_number -> addNumberToContact() R.id.cab_send_sms -> sendSMS() @@ -110,8 +114,14 @@ class RecentCallsAdapter(activity: SimpleActivity, var recentCalls: ArrayList + private fun getSelectedPhoneNumber() = getSelectedItems().firstOrNull()?.phoneNumber ?: null + private fun setupView(view: View, call: RecentCall) { view.apply { item_recents_frame.isSelected = selectedKeys.contains(call.id) diff --git a/app/src/main/kotlin/com/simplemobiletools/dialer/helpers/Config.kt b/app/src/main/kotlin/com/simplemobiletools/dialer/helpers/Config.kt index db34d935..4621a011 100644 --- a/app/src/main/kotlin/com/simplemobiletools/dialer/helpers/Config.kt +++ b/app/src/main/kotlin/com/simplemobiletools/dialer/helpers/Config.kt @@ -36,6 +36,10 @@ class Config(context: Context) : BaseConfig(context) { fun getCustomSIM(number: String) = prefs.getString(REMEMBER_SIM_PREFIX + number, "") + fun removeCustomSIM(number: String) { + prefs.edit().remove(REMEMBER_SIM_PREFIX + number).apply() + } + var groupSubsequentCalls: Boolean get() = prefs.getBoolean(GROUP_SUBSEQUENT_CALLS, true) set(groupSubsequentCalls) = prefs.edit().putBoolean(GROUP_SUBSEQUENT_CALLS, groupSubsequentCalls).apply() diff --git a/app/src/main/res/menu/cab_contacts.xml b/app/src/main/res/menu/cab_contacts.xml index 510c3035..981ba117 100644 --- a/app/src/main/res/menu/cab_contacts.xml +++ b/app/src/main/res/menu/cab_contacts.xml @@ -11,6 +11,10 @@ android:icon="@drawable/ic_phone_two_vector" android:title="@string/call_from_sim_2" app:showAsAction="ifRoom" /> + +