| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- package com.sduduzog.slimlauncher.dialogs
- import android.app.Dialog
- import android.os.Bundle
- import android.view.LayoutInflater
- import android.widget.EditText
- import android.widget.Toast
- import androidx.appcompat.app.AlertDialog
- import androidx.fragment.app.DialogFragment
- import com.sduduzog.slimlauncher.R
- import com.sduduzog.slimlauncher.data.MainViewModel
- import com.sduduzog.slimlauncher.data.model.HomeApp
- import kotlinx.android.synthetic.main.customise_apps_fragment.*
- class RenameAppDialog : DialogFragment() {
- private lateinit var app: HomeApp
- private lateinit var model: MainViewModel
- override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
- val view = LayoutInflater.from(context).inflate(R.layout.rename_app_dialog_edit_text, customise_apps_fragment, false)
- val editText: EditText = view.findViewById(R.id.rename_editText)
- editText.text.append(app.appName)
- val builder = AlertDialog.Builder(context!!)
- builder.setTitle("Rename ${app.appName}")
- builder.setView(view)
- builder.setPositiveButton("DONE") { _, _ ->
- val name = editText.text.toString()
- updateApp(name)
- }
- editText.setOnEditorActionListener { v, _, _ ->
- val name = v.text.toString()
- updateApp(name)
- this@RenameAppDialog.dismiss()
- true
- }
- return builder.create()
- }
- private fun updateApp(newName: String) {
- if (newName.isNotEmpty()) {
- app.appName = newName
- model.update(app)
- } else {
- Toast.makeText(context, "App name shouldn't be empty", Toast.LENGTH_LONG).show()
- }
- }
- companion object {
- fun rename(app: HomeApp, model: MainViewModel): RenameAppDialog {
- return RenameAppDialog().apply {
- this.model = model
- this.app = app
- }
- }
- }
- }
|