From a5ff23fdb3c8db90a22bccbe672f0723b2cfeef5 Mon Sep 17 00:00:00 2001 From: tibbi Date: Wed, 12 Sep 2018 15:57:12 +0200 Subject: [PATCH] properly tell if a note has unsaved changes after device rotation --- .../simplemobiletools/notes/fragments/NoteFragment.kt | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/notes/fragments/NoteFragment.kt b/app/src/main/kotlin/com/simplemobiletools/notes/fragments/NoteFragment.kt index 9bfd84a4..b770b81d 100644 --- a/app/src/main/kotlin/com/simplemobiletools/notes/fragments/NoteFragment.kt +++ b/app/src/main/kotlin/com/simplemobiletools/notes/fragments/NoteFragment.kt @@ -38,6 +38,7 @@ class NoteFragment : Fragment() { private var textHistory = TextHistory() private var isUndoOrRedo = false + private var skipTextUpdating = false private var noteId = 0 lateinit var note: Note lateinit var view: ViewGroup @@ -84,7 +85,10 @@ class NoteFragment : Fragment() { setTextSize(TypedValue.COMPLEX_UNIT_PX, context.getTextSize()) gravity = getTextGravity() if (text.toString() != fileContents) { - setText(fileContents) + if (!skipTextUpdating) { + setText(fileContents) + } + skipTextUpdating = false setSelection(if (config.placeCursorToEnd) text.length else 0) } } @@ -130,8 +134,9 @@ class NoteFragment : Fragment() { override fun onViewStateRestored(savedInstanceState: Bundle?) { super.onViewStateRestored(savedInstanceState) if (savedInstanceState != null) { - note.value = savedInstanceState.getString(TEXT) ?: "" - view.notes_view.setText(note.value) + skipTextUpdating = true + val newText = savedInstanceState.getString(TEXT) ?: "" + view.notes_view.setText(newText) } }