From 6f69b581e4ccfb5d71967d5de610709db0354c11 Mon Sep 17 00:00:00 2001 From: Moritz Warning Date: Thu, 25 Dec 2025 01:54:03 +0100 Subject: [PATCH] MainActivity: sort events before saving --- .../lunatracker/MainActivity.kt | 54 +++++++++---------- 1 file changed, 26 insertions(+), 28 deletions(-) diff --git a/app/src/main/java/it/danieleverducci/lunatracker/MainActivity.kt b/app/src/main/java/it/danieleverducci/lunatracker/MainActivity.kt index f83f2e1..4904dec 100644 --- a/app/src/main/java/it/danieleverducci/lunatracker/MainActivity.kt +++ b/app/src/main/java/it/danieleverducci/lunatracker/MainActivity.kt @@ -420,17 +420,6 @@ class MainActivity : AppCompatActivity() { return dateTime } - fun saveEvent(event: LunaEvent) { - if (!allEvents.contains(event)) { - // new event - logEvent(event) - } - - logbook?.sort() - recyclerView.adapter?.notifyDataSetChanged() - saveLogbook() - } - fun addSleepEvent(event: LunaEvent) { askSleepValue(event) { saveEvent(event) } } @@ -1116,23 +1105,6 @@ class MainActivity : AppCompatActivity() { }) } - fun logEvent(event: LunaEvent) { - savingEvent(true) - - event.signature = signature - - setLoading(true) - logbook?.logs?.add(0, event) - recyclerView.adapter?.notifyItemInserted(0) - recyclerView.smoothScrollToPosition(0) - saveLogbook(event) - - // Check logbook size to avoid OOM errors - if (logbook?.isTooBig() == true) { - askToTrimLogbook() - } - } - fun deleteEvent(event: LunaEvent) { // Update view savingEvent(true) @@ -1144,6 +1116,32 @@ class MainActivity : AppCompatActivity() { saveLogbook() } + fun saveEvent(event: LunaEvent) { + if (allEvents.contains(event)) { + // event was modified + logbook?.sort() + recyclerView.adapter?.notifyDataSetChanged() + saveLogbook() + } else { + // add new event + savingEvent(true) + setLoading(true) + if (signature.isNotEmpty()) { + event.signature = signature + } + logbook?.logs?.add(0, event) + logbook?.sort() + recyclerView.adapter?.notifyItemInserted(0) + recyclerView.smoothScrollToPosition(0) + saveLogbook(event) + + // Check logbook size to avoid OOM errors + if (logbook?.isTooBig() == true) { + askToTrimLogbook() + } + } + } + /** * Saves the logbook. If saving while adding an event, please specify the event so in case * of error can be removed from the list.