diff --git a/app/src/main/java/com/micewine/emu/fragments/EnvironmentVarsSettingsFragment.kt b/app/src/main/java/com/micewine/emu/fragments/EnvironmentVarsSettingsFragment.kt index f0c1375..c307329 100644 --- a/app/src/main/java/com/micewine/emu/fragments/EnvironmentVarsSettingsFragment.kt +++ b/app/src/main/java/com/micewine/emu/fragments/EnvironmentVarsSettingsFragment.kt @@ -67,7 +67,7 @@ class EnvironmentVarsSettingsFragment : Fragment() { private fun setupRecyclerView() { envVarsAdapter = EnvironmentVarsAdapter(envVarsList, - onItemClick = { position -> showEditDialog(position) }, + onItemClick = { position -> showDialog(position) }, onDeleteClick = { position -> deleteEnvironmentVar(position) } ) rvEnvVars.layoutManager = LinearLayoutManager(context) @@ -76,59 +76,54 @@ class EnvironmentVarsSettingsFragment : Fragment() { private fun setupAddButton() { btnAddEnvVar.setOnClickListener { - showAddDialog() + showDialog(null) } } - private fun showAddDialog() { + private fun showDialog(position: Int?) { val dialogView = LayoutInflater.from(context).inflate(R.layout.dialog_env_var, null) - val keyInput = dialogView.findViewById(R.id.etDialogKey) - val valueInput = dialogView.findViewById(R.id.etDialogValue) - AlertDialog.Builder(context) - .setTitle(getString(R.string.env_add_action)) - .setView(dialogView) - .setPositiveButton(getString(R.string.save_text)) { _, _ -> - val key = keyInput.text.toString().trim() - val value = valueInput.text.toString().trim() + val envDialogTitle = dialogView.findViewById(R.id.envDialogTitle) - if (key.isNotEmpty() && value.isNotEmpty()) { - val envVar = EnvironmentVariable(key, value) - envVarsList.add(envVar) - envVarsAdapter.notifyItemInserted(envVarsList.size - 1) - saveEnvironmentVariables() - } - } - .setNegativeButton(getString(R.string.cancel_text), null) - .create() - .show() - } + if (position == null) + envDialogTitle.text = getString(R.string.env_add_action) + else + envDialogTitle.text = getString(R.string.env_edit_action) + + val dialog = AlertDialog.Builder(requireContext(), R.style.CustomAlertDialog).setView(dialogView).create() - private fun showEditDialog(position: Int) { - val dialogView = LayoutInflater.from(context).inflate(R.layout.dialog_env_var, null) val keyInput = dialogView.findViewById(R.id.etDialogKey) val valueInput = dialogView.findViewById(R.id.etDialogValue) - val currentVar = envVarsList[position] - keyInput.setText(currentVar.key) - valueInput.setText(currentVar.value) + if (position != null) { + keyInput.setText(envVarsList[position].key) + valueInput.setText(envVarsList[position].value) + } + + val buttonCancel = dialogView.findViewById