From 3af91ed8c093f3c2950493616c496af8401cf9d5 Mon Sep 17 00:00:00 2001 From: Marvin Date: Tue, 17 Mar 2026 16:30:49 -0300 Subject: [PATCH] Fix: Properly initialize original values when loading notes from storage When deserializing a Note from JSON, the constructor was called first which initialized original tracking with empty values. Then the JSON fields were parsed and set, but hasChanges() would always return true because it compared the loaded content against empty originals. Solution: Call markAsSaved() after parsing in fromJson() to update the original tracking with the actual loaded data. --- app/src/main/java/com/notesapp/models/Note.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/app/src/main/java/com/notesapp/models/Note.java b/app/src/main/java/com/notesapp/models/Note.java index 8c5a4ad..560c78f 100644 --- a/app/src/main/java/com/notesapp/models/Note.java +++ b/app/src/main/java/com/notesapp/models/Note.java @@ -191,6 +191,9 @@ public class Note implements Serializable { note.items = parseChecklistItems(itemsJson); } + // Mark as saved so original values are set to the loaded data + note.markAsSaved(); + return note; }