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 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
|
||||
import com.simplemobiletools.dialer.dialogs.SelectContactDialog
|
||||
import com.simplemobiletools.dialer.dialogs.SelectNumberDialog
|
||||
import com.simplemobiletools.dialer.extensions.config
|
||||
import com.simplemobiletools.dialer.interfaces.RemoveSpeedDialListener
|
||||
import com.simplemobiletools.dialer.models.SpeedDial
|
||||
@@ -55,7 +57,11 @@ class ManageSpeedDialActivity : SimpleActivity(), RemoveSpeedDialListener {
|
||||
|
||||
SelectContactDialog(this, allContacts) { selectedContact ->
|
||||
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 {
|
||||
displayName = selectedContact.getNameToDisplay()
|
||||
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