Changed custom dialog to RadioGroupDialog

This commit is contained in:
merkost
2023-06-08 13:06:57 +10:00
parent a9c2d752ce
commit 444ac03727
3 changed files with 8 additions and 48 deletions

View File

@@ -2,14 +2,16 @@ package com.simplemobiletools.dialer.activities
import android.os.Bundle import android.os.Bundle
import com.google.gson.Gson import com.google.gson.Gson
import com.simplemobiletools.commons.dialogs.RadioGroupDialog
import com.simplemobiletools.commons.extensions.updateTextColors import com.simplemobiletools.commons.extensions.updateTextColors
import com.simplemobiletools.commons.helpers.ContactsHelper import com.simplemobiletools.commons.helpers.ContactsHelper
import com.simplemobiletools.commons.helpers.NavigationIcon 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.commons.models.contacts.Contact
import com.simplemobiletools.dialer.R import com.simplemobiletools.dialer.R
import com.simplemobiletools.dialer.adapters.SpeedDialAdapter import com.simplemobiletools.dialer.adapters.SpeedDialAdapter
import com.simplemobiletools.dialer.dialogs.SelectContactDialog import com.simplemobiletools.dialer.dialogs.SelectContactDialog
import com.simplemobiletools.dialer.dialogs.SelectNumberDialog
import com.simplemobiletools.dialer.extensions.config import com.simplemobiletools.dialer.extensions.config
import com.simplemobiletools.dialer.interfaces.RemoveSpeedDialListener import com.simplemobiletools.dialer.interfaces.RemoveSpeedDialListener
import com.simplemobiletools.dialer.models.SpeedDial import com.simplemobiletools.dialer.models.SpeedDial
@@ -55,7 +57,11 @@ class ManageSpeedDialActivity : SimpleActivity(), RemoveSpeedDialListener {
SelectContactDialog(this, allContacts) { selectedContact -> SelectContactDialog(this, allContacts) { selectedContact ->
if (selectedContact.phoneNumbers.size > 1) { if (selectedContact.phoneNumbers.size > 1) {
SelectNumberDialog(this, selectedContact.phoneNumbers) { selectedNumber -> val radioItems = selectedContact.phoneNumbers.mapIndexed { index, item ->
RadioItem(index, item.normalizedNumber, item)
}
RadioGroupDialog(this, ArrayList(radioItems)) { selectedValue ->
val selectedNumber = selectedValue as PhoneNumber
speedDialValues.first { it.id == clickedContact.id }.apply { speedDialValues.first { it.id == clickedContact.id }.apply {
displayName = selectedContact.getNameToDisplay() displayName = selectedContact.getNameToDisplay()
number = selectedNumber.normalizedNumber number = selectedNumber.normalizedNumber

View File

@@ -1,30 +0,0 @@
package com.simplemobiletools.dialer.dialogs
import androidx.appcompat.app.AlertDialog
import com.simplemobiletools.commons.extensions.getAlertDialogBuilder
import com.simplemobiletools.commons.extensions.setupDialogStuff
import com.simplemobiletools.commons.models.PhoneNumber
import com.simplemobiletools.dialer.R
import com.simplemobiletools.dialer.activities.SimpleActivity
import com.simplemobiletools.dialer.adapters.PhonesAdapter
import kotlinx.android.synthetic.main.dialog_select_phone_number.view.select_phone_number_list
class SelectNumberDialog(val activity: SimpleActivity, private val phoneNumbers: ArrayList<PhoneNumber>, val callback: (selectedNumber: PhoneNumber) -> Unit) {
private var dialog: AlertDialog? = null
private var view = activity.layoutInflater.inflate(R.layout.dialog_select_phone_number, null)
init {
view.apply {
select_phone_number_list.adapter = PhonesAdapter(activity, phoneNumbers) {
callback(it)
dialog?.dismiss()
}
}
activity.getAlertDialogBuilder().setNegativeButton(R.string.cancel, null).apply {
activity.setupDialogStuff(view, this) { alertDialog ->
dialog = alertDialog
}
}
}
}

View File

@@ -1,16 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/select_phone_number_list_holder"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<com.simplemobiletools.commons.views.MyRecyclerView
android:id="@+id/select_phone_number_list"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:clipToPadding="false"
android:scrollbars="none"
app:layoutManager="com.simplemobiletools.commons.views.MyLinearLayoutManager" />
</RelativeLayout>