diff --git a/app/src/main/kotlin/com/simplemobiletools/dialer/activities/ManageSpeedDialActivity.kt b/app/src/main/kotlin/com/simplemobiletools/dialer/activities/ManageSpeedDialActivity.kt index 8d1f5961..40959a25 100644 --- a/app/src/main/kotlin/com/simplemobiletools/dialer/activities/ManageSpeedDialActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/dialer/activities/ManageSpeedDialActivity.kt @@ -2,9 +2,12 @@ package com.simplemobiletools.dialer.activities import android.os.Bundle import com.google.gson.Gson +import com.simplemobiletools.commons.dialogs.RadioGroupDialog import com.simplemobiletools.commons.extensions.updateTextColors import com.simplemobiletools.commons.helpers.ContactsHelper import com.simplemobiletools.commons.helpers.NavigationIcon +import com.simplemobiletools.commons.models.PhoneNumber +import com.simplemobiletools.commons.models.RadioItem import com.simplemobiletools.commons.models.contacts.Contact import com.simplemobiletools.dialer.R import com.simplemobiletools.dialer.adapters.SpeedDialAdapter @@ -53,11 +56,28 @@ class ManageSpeedDialActivity : SimpleActivity(), RemoveSpeedDialListener { } SelectContactDialog(this, allContacts) { selectedContact -> - speedDialValues.first { it.id == clickedContact.id }.apply { - displayName = selectedContact.getNameToDisplay() - number = selectedContact.phoneNumbers.first().normalizedNumber + if (selectedContact.phoneNumbers.size > 1) { + val radioItems = selectedContact.phoneNumbers.mapIndexed { index, item -> + RadioItem(index, item.normalizedNumber, item) + } + val userPhoneNumbersList = selectedContact.phoneNumbers.map { it.value } + val checkedItemId = userPhoneNumbersList.indexOf(clickedContact.number) + RadioGroupDialog(this, ArrayList(radioItems), checkedItemId = checkedItemId) { selectedValue -> + val selectedNumber = selectedValue as PhoneNumber + speedDialValues.first { it.id == clickedContact.id }.apply { + displayName = selectedContact.getNameToDisplay() + number = selectedNumber.normalizedNumber + } + updateAdapter() + } + } else { + speedDialValues.first { it.id == clickedContact.id }.apply { + displayName = selectedContact.getNameToDisplay() + number = selectedContact.phoneNumbers.first().normalizedNumber + } + updateAdapter() } - updateAdapter() + } }.apply { speed_dial_list.adapter = this diff --git a/app/src/main/kotlin/com/simplemobiletools/dialer/adapters/SpeedDialAdapter.kt b/app/src/main/kotlin/com/simplemobiletools/dialer/adapters/SpeedDialAdapter.kt index 7fed9b01..62391974 100644 --- a/app/src/main/kotlin/com/simplemobiletools/dialer/adapters/SpeedDialAdapter.kt +++ b/app/src/main/kotlin/com/simplemobiletools/dialer/adapters/SpeedDialAdapter.kt @@ -10,7 +10,6 @@ import com.simplemobiletools.dialer.activities.SimpleActivity import com.simplemobiletools.dialer.interfaces.RemoveSpeedDialListener import com.simplemobiletools.dialer.models.SpeedDial import kotlinx.android.synthetic.main.item_speed_dial.view.* -import java.util.* class SpeedDialAdapter( activity: SimpleActivity, var speedDialValues: ArrayList, private val removeListener: RemoveSpeedDialListener,