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() } } } } } }