From df3c55cba1b261a21fd00eb8b8dbdfc5b90f8b3a Mon Sep 17 00:00:00 2001 From: Agnieszka C <85929121+Aga-C@users.noreply.github.com> Date: Thu, 20 Mar 2025 18:17:04 +0100 Subject: [PATCH] Fixed inserting inside the list --- .../notes/dialogs/NewChecklistItemDialog.kt | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/app/src/main/kotlin/org/fossify/notes/dialogs/NewChecklistItemDialog.kt b/app/src/main/kotlin/org/fossify/notes/dialogs/NewChecklistItemDialog.kt index 1f5c7083..a8293b8a 100644 --- a/app/src/main/kotlin/org/fossify/notes/dialogs/NewChecklistItemDialog.kt +++ b/app/src/main/kotlin/org/fossify/notes/dialogs/NewChecklistItemDialog.kt @@ -57,7 +57,7 @@ class NewChecklistItemDialog(val activity: Activity, callback: (titles: ArrayLis } } - private fun addNewEditText(initialText: String? = null) { + private fun addNewEditText(initialText: String? = null, position: Int? = null) { ItemAddChecklistBinding.inflate(activity.layoutInflater).apply { titleEditText.setOnEditorActionListener { _, actionId, _ -> if (actionId == EditorInfo.IME_ACTION_NEXT || actionId == EditorInfo.IME_ACTION_DONE || actionId == KeyEvent.KEYCODE_ENTER) { @@ -70,11 +70,12 @@ class NewChecklistItemDialog(val activity: Activity, callback: (titles: ArrayLis titleEditText.onTextChangeListener { text -> val lines = text.lines().filter { it.trim().isNotEmpty() } if (lines.size > 1) { + val currentPosition = titles.indexOf(titleEditText) lines.forEachIndexed { i, line -> if (i == 0) { titleEditText.setText(line) } else { - addNewEditText(line) + addNewEditText(line, currentPosition + i) } } } @@ -82,8 +83,13 @@ class NewChecklistItemDialog(val activity: Activity, callback: (titles: ArrayLis if (initialText != null) { titleEditText.setText(initialText) } - titles.add(titleEditText) - binding.checklistHolder.addView(this.root) + if (position != null && position < titles.size) { + titles.add(position, titleEditText) + binding.checklistHolder.addView(this.root, position) + } else { + titles.add(titleEditText) + binding.checklistHolder.addView(this.root) + } activity.updateTextColors(binding.checklistHolder) binding.dialogHolder.post { binding.dialogHolder.fullScroll(View.FOCUS_DOWN)