From bbc14d4aae3a3d4465d74a47fc498c636aa88222 Mon Sep 17 00:00:00 2001 From: tibbi Date: Mon, 28 Oct 2019 11:31:36 +0100 Subject: [PATCH] fix #298, properly save checklist values at renaming --- .../simplemobiletools/notes/pro/activities/MainActivity.kt | 7 ++++++- .../notes/pro/adapters/NotesPagerAdapter.kt | 2 ++ .../notes/pro/fragments/ChecklistFragment.kt | 4 +++- 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/notes/pro/activities/MainActivity.kt b/app/src/main/kotlin/com/simplemobiletools/notes/pro/activities/MainActivity.kt index 1cdaf260..c88fa3c2 100644 --- a/app/src/main/kotlin/com/simplemobiletools/notes/pro/activities/MainActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/notes/pro/activities/MainActivity.kt @@ -619,7 +619,12 @@ class MainActivity : SimpleActivity() { private fun addTextToCurrentNote(text: String) = getPagerAdapter().appendText(view_pager.currentItem, text) - private fun saveCurrentNote(force: Boolean) = getPagerAdapter().saveCurrentNote(view_pager.currentItem, force) + private fun saveCurrentNote(force: Boolean) { + getPagerAdapter().saveCurrentNote(view_pager.currentItem, force) + if (mCurrentNote.type == TYPE_CHECKLIST) { + mCurrentNote.value = getPagerAdapter().getNoteChecklistItems(view_pager.currentItem) ?: "" + } + } private fun displayDeleteNotePrompt() { DeleteNoteDialog(this, mCurrentNote) { diff --git a/app/src/main/kotlin/com/simplemobiletools/notes/pro/adapters/NotesPagerAdapter.kt b/app/src/main/kotlin/com/simplemobiletools/notes/pro/adapters/NotesPagerAdapter.kt index 5086b8de..75bf8388 100644 --- a/app/src/main/kotlin/com/simplemobiletools/notes/pro/adapters/NotesPagerAdapter.kt +++ b/app/src/main/kotlin/com/simplemobiletools/notes/pro/adapters/NotesPagerAdapter.kt @@ -57,6 +57,8 @@ class NotesPagerAdapter(fm: FragmentManager, val notes: List, val activity fun saveAllFragmentTexts() = fragments.values.forEach { (it as? TextFragment)?.saveText(false) } + fun getNoteChecklistItems(position: Int) = (fragments[position] as? ChecklistFragment)?.getChecklistItems() + fun undo(position: Int) = (fragments[position] as? TextFragment)?.undo() fun redo(position: Int) = (fragments[position] as? TextFragment)?.redo() diff --git a/app/src/main/kotlin/com/simplemobiletools/notes/pro/fragments/ChecklistFragment.kt b/app/src/main/kotlin/com/simplemobiletools/notes/pro/fragments/ChecklistFragment.kt index 68358b17..93ca46f5 100644 --- a/app/src/main/kotlin/com/simplemobiletools/notes/pro/fragments/ChecklistFragment.kt +++ b/app/src/main/kotlin/com/simplemobiletools/notes/pro/fragments/ChecklistFragment.kt @@ -122,13 +122,15 @@ class ChecklistFragment : NoteFragment(), ChecklistItemsListener { } } - note!!.value = Gson().toJson(items) + note!!.value = getChecklistItems() context?.notesDB?.insertOrUpdate(note!!) context?.updateWidgets() } } } + fun getChecklistItems() = Gson().toJson(items) + override fun saveChecklist() { saveNote() }