46 lines
2.0 KiB
Kotlin
46 lines
2.0 KiB
Kotlin
package com.simplemobiletools.launcher.dialogs
|
|
|
|
import android.app.Activity
|
|
import android.app.AlertDialog
|
|
import com.simplemobiletools.commons.extensions.*
|
|
import com.simplemobiletools.commons.helpers.ensureBackgroundThread
|
|
import com.simplemobiletools.launcher.R
|
|
import com.simplemobiletools.launcher.databinding.DialogRenameItemBinding
|
|
import com.simplemobiletools.launcher.extensions.homeScreenGridItemsDB
|
|
import com.simplemobiletools.launcher.models.HomeScreenGridItem
|
|
import com.simplemobiletools.commons.R as CommonsR
|
|
|
|
class RenameItemDialog(val activity: Activity, val item: HomeScreenGridItem, val callback: () -> Unit) {
|
|
|
|
init {
|
|
val binding = DialogRenameItemBinding.inflate(activity.layoutInflater)
|
|
val view = binding.root
|
|
binding.renameItemEdittext.setText(item.title)
|
|
|
|
activity.getAlertDialogBuilder()
|
|
.setPositiveButton(CommonsR.string.ok, null)
|
|
.setNegativeButton(CommonsR.string.cancel, null)
|
|
.apply {
|
|
activity.setupDialogStuff(view, this, CommonsR.string.rename) { alertDialog ->
|
|
alertDialog.showKeyboard(binding.renameItemEdittext)
|
|
alertDialog.getButton(AlertDialog.BUTTON_POSITIVE).setOnClickListener {
|
|
val newTitle = binding.renameItemEdittext.value
|
|
if (newTitle.isNotEmpty()) {
|
|
ensureBackgroundThread {
|
|
val result = activity.homeScreenGridItemsDB.updateItemTitle(newTitle, item.id!!)
|
|
if (result == 1) {
|
|
callback()
|
|
alertDialog.dismiss()
|
|
} else {
|
|
activity.toast(CommonsR.string.unknown_error_occurred)
|
|
}
|
|
}
|
|
} else {
|
|
activity.toast(CommonsR.string.value_cannot_be_empty)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|