From 441b2d204eb7a53de4722d5a1f72555b87e44160 Mon Sep 17 00:00:00 2001 From: tibbi Date: Sat, 8 Dec 2018 19:36:47 +0100 Subject: [PATCH] handle saving/loading checklist items from the db --- .../notes/pro/fragments/ChecklistFragment.kt | 12 ++++++++++++ app/src/main/res/layout/item_checklist.xml | 3 ++- 2 files changed, 14 insertions(+), 1 deletion(-) 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 1e7b230c..5e5c8eb3 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 @@ -5,12 +5,15 @@ import android.os.Bundle import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import com.google.gson.Gson +import com.google.gson.reflect.TypeToken import com.simplemobiletools.commons.extensions.* import com.simplemobiletools.commons.interfaces.RefreshRecyclerViewListener import com.simplemobiletools.notes.pro.R import com.simplemobiletools.notes.pro.activities.SimpleActivity import com.simplemobiletools.notes.pro.adapters.ChecklistAdapter import com.simplemobiletools.notes.pro.dialogs.NewChecklistItemDialog +import com.simplemobiletools.notes.pro.extensions.notesDB import com.simplemobiletools.notes.pro.helpers.NOTE_ID import com.simplemobiletools.notes.pro.helpers.NotesHelper import com.simplemobiletools.notes.pro.models.ChecklistItem @@ -36,6 +39,9 @@ class ChecklistFragment : NoteFragment(), RefreshRecyclerViewListener { NotesHelper(activity!!).getNoteWithId(noteId) { if (it != null && activity?.isDestroyed == false) { note = it + + val checklistItemType = object : TypeToken>() {}.type + items = Gson().fromJson>(note!!.value, checklistItemType) ?: ArrayList(1) setupFragment() } } @@ -59,6 +65,12 @@ class ChecklistFragment : NoteFragment(), RefreshRecyclerViewListener { val checklistItem = ChecklistItem(currentMaxId + 1, it, false) items.add(checklistItem) setupAdapter() + Thread { + if (note != null && context != null) { + note!!.value = Gson().toJson(items) + context?.notesDB?.insertOrUpdate(note!!) + } + }.start() } } } diff --git a/app/src/main/res/layout/item_checklist.xml b/app/src/main/res/layout/item_checklist.xml index af11a10a..7c365c76 100644 --- a/app/src/main/res/layout/item_checklist.xml +++ b/app/src/main/res/layout/item_checklist.xml @@ -17,6 +17,7 @@ android:layout_centerVertical="true" android:layout_marginLeft="@dimen/medium_margin" android:layout_marginTop="@dimen/medium_margin" - android:layout_marginRight="@dimen/medium_margin"/> + android:layout_marginRight="@dimen/medium_margin" + android:textSize="@dimen/bigger_text_size"/>