mirror of
https://github.com/SimpleMobileTools/Simple-Dialer.git
synced 2025-06-05 21:49:23 +02:00
Changed custom dialog to RadioGroupDialog
This commit is contained in:
@@ -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
|
||||||
|
@@ -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
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@@ -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>
|
|
Reference in New Issue
Block a user