From a887d9f29f8f718fd71b530bfa752799113a0ea2 Mon Sep 17 00:00:00 2001 From: Moritz Warning Date: Tue, 18 Nov 2025 22:06:01 +0100 Subject: [PATCH] MainActivity: use unique templates for notes --- .../it/danieleverducci/lunatracker/MainActivity.kt | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/it/danieleverducci/lunatracker/MainActivity.kt b/app/src/main/java/it/danieleverducci/lunatracker/MainActivity.kt index 31cdfdf..086f73d 100644 --- a/app/src/main/java/it/danieleverducci/lunatracker/MainActivity.kt +++ b/app/src/main/java/it/danieleverducci/lunatracker/MainActivity.kt @@ -566,11 +566,11 @@ class MainActivity : AppCompatActivity() { val nextTextView = dialogView.findViewById(R.id.notes_template_next) val prevTextView = dialogView.findViewById(R.id.notes_template_prev) + val templates = getAllEvents().filter { it.type == event.type }.distinctBy { it.notes }.sortedBy { it.time } fun updateContent(current: LunaEvent) { - val allEvents = getAllEvents() - val prevEvent = getPreviousSameEvent(current, allEvents) - var nextEvent = getNextSameEvent(current, allEvents) + val prevEvent = getPreviousSameEvent(current, templates) + var nextEvent = getNextSameEvent(current, templates) notesET.setText(current.notes) if (useQuantity) { @@ -621,7 +621,7 @@ class MainActivity : AppCompatActivity() { updateContent(event) d.setPositiveButton(android.R.string.ok) { dialogInterface, i -> - val notes = notesET.text.toString() + val notes = notesET.text.toString().trim() if (useQuantity) { val quantity = qtyET.text.toString().toIntOrNull() @@ -678,7 +678,7 @@ class MainActivity : AppCompatActivity() { } } - fun getPreviousSameEvent(event: LunaEvent, items: ArrayList): LunaEvent? { + fun getPreviousSameEvent(event: LunaEvent, items: List): LunaEvent? { var previousEvent: LunaEvent? = null for (item in items) { if (item.type == event.type && item.time < event.time) { @@ -692,7 +692,7 @@ class MainActivity : AppCompatActivity() { return previousEvent } - fun getNextSameEvent(event: LunaEvent, items: ArrayList): LunaEvent? { + fun getNextSameEvent(event: LunaEvent, items: List): LunaEvent? { var nextEvent: LunaEvent? = null for (item in items) { if (item.type == event.type && item.time > event.time) {