55 lines
2.1 KiB
Kotlin
55 lines
2.1 KiB
Kotlin
package com.simplemobiletools.smsmessenger.dialogs
|
|
|
|
import android.app.Activity
|
|
import android.content.DialogInterface.BUTTON_POSITIVE
|
|
import android.view.ViewGroup
|
|
import androidx.appcompat.app.AlertDialog
|
|
import com.simplemobiletools.commons.extensions.getAlertDialogBuilder
|
|
import com.simplemobiletools.commons.extensions.setupDialogStuff
|
|
import com.simplemobiletools.commons.extensions.showKeyboard
|
|
import com.simplemobiletools.commons.extensions.toast
|
|
import com.simplemobiletools.smsmessenger.R
|
|
import com.simplemobiletools.smsmessenger.models.Conversation
|
|
import kotlinx.android.synthetic.main.dialog_rename_conversation.view.*
|
|
|
|
class RenameConversationDialog(
|
|
private val activity: Activity,
|
|
private val conversation: Conversation,
|
|
private val callback: (name: String) -> Unit,
|
|
) {
|
|
private var dialog: AlertDialog? = null
|
|
|
|
init {
|
|
val view = (activity.layoutInflater.inflate(R.layout.dialog_rename_conversation, null) as ViewGroup).apply {
|
|
rename_conv_edit_text.apply {
|
|
if (conversation.usesCustomTitle) {
|
|
setText(conversation.title)
|
|
}
|
|
|
|
hint = conversation.title
|
|
}
|
|
}
|
|
|
|
activity.getAlertDialogBuilder()
|
|
.setPositiveButton(R.string.ok, null)
|
|
.setNegativeButton(R.string.cancel, null)
|
|
.apply {
|
|
activity.setupDialogStuff(view, this, R.string.rename_conversation) { alertDialog ->
|
|
dialog = alertDialog
|
|
alertDialog.showKeyboard(view.rename_conv_edit_text)
|
|
alertDialog.getButton(BUTTON_POSITIVE).apply {
|
|
setOnClickListener {
|
|
val newTitle = view.rename_conv_edit_text.text.toString()
|
|
if (newTitle.isEmpty()) {
|
|
activity.toast(R.string.empty_name)
|
|
return@setOnClickListener
|
|
}
|
|
|
|
callback(newTitle)
|
|
alertDialog.dismiss()
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|