38 lines
1.4 KiB
Kotlin
38 lines
1.4 KiB
Kotlin
package com.simplemobiletools.smsmessenger.dialogs
|
|
|
|
import android.app.Activity
|
|
import androidx.appcompat.app.AlertDialog
|
|
import com.simplemobiletools.commons.extensions.beGoneIf
|
|
import com.simplemobiletools.commons.extensions.getAlertDialogBuilder
|
|
import com.simplemobiletools.commons.extensions.setupDialogStuff
|
|
import com.simplemobiletools.smsmessenger.databinding.DialogDeleteConfirmationBinding
|
|
|
|
class DeleteConfirmationDialog(
|
|
private val activity: Activity,
|
|
private val message: String,
|
|
private val showSkipRecycleBinOption: Boolean,
|
|
private val callback: (skipRecycleBin: Boolean) -> Unit
|
|
) {
|
|
|
|
private var dialog: AlertDialog? = null
|
|
val binding = DialogDeleteConfirmationBinding.inflate(activity.layoutInflater)
|
|
|
|
init {
|
|
binding.deleteRememberTitle.text = message
|
|
binding.skipTheRecycleBinCheckbox.beGoneIf(!showSkipRecycleBinOption)
|
|
activity.getAlertDialogBuilder()
|
|
.setPositiveButton(com.simplemobiletools.commons.R.string.yes) { _, _ -> dialogConfirmed() }
|
|
.setNegativeButton(com.simplemobiletools.commons.R.string.no, null)
|
|
.apply {
|
|
activity.setupDialogStuff(binding.root, this) { alertDialog ->
|
|
dialog = alertDialog
|
|
}
|
|
}
|
|
}
|
|
|
|
private fun dialogConfirmed() {
|
|
dialog?.dismiss()
|
|
callback(binding.skipTheRecycleBinCheckbox.isChecked)
|
|
}
|
|
}
|