From 838f50efb2dbb1370e63c49434bd5c70a9e08d60 Mon Sep 17 00:00:00 2001 From: merkost Date: Fri, 28 Jul 2023 17:36:13 +1000 Subject: [PATCH] Created exportNotes function in NotesHelper --- .../notes/pro/helpers/NotesHelper.kt | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/app/src/main/kotlin/com/simplemobiletools/notes/pro/helpers/NotesHelper.kt b/app/src/main/kotlin/com/simplemobiletools/notes/pro/helpers/NotesHelper.kt index bf25adb5..53fb7227 100644 --- a/app/src/main/kotlin/com/simplemobiletools/notes/pro/helpers/NotesHelper.kt +++ b/app/src/main/kotlin/com/simplemobiletools/notes/pro/helpers/NotesHelper.kt @@ -4,6 +4,7 @@ import android.content.Context import android.os.Handler import android.os.Looper import com.simplemobiletools.commons.activities.BaseSimpleActivity +import com.simplemobiletools.commons.helpers.ExportResult import com.simplemobiletools.commons.helpers.PROTECTION_NONE import com.simplemobiletools.commons.helpers.ensureBackgroundThread import com.simplemobiletools.notes.pro.R @@ -11,7 +12,10 @@ import com.simplemobiletools.notes.pro.extensions.config import com.simplemobiletools.notes.pro.extensions.notesDB import com.simplemobiletools.notes.pro.models.Note import com.simplemobiletools.notes.pro.models.NoteType +import kotlinx.serialization.encodeToString +import kotlinx.serialization.json.Json import java.io.File +import java.io.OutputStream class NotesHelper(val context: Context) { fun getNotes(callback: (notes: List) -> Unit) { @@ -124,6 +128,18 @@ class NotesHelper(val context: Context) { } } + fun exportNotes(notesToBackup: List, outputStream: OutputStream): ExportResult { + return try { + val jsonString = Json.encodeToString(notesToBackup) + outputStream.use { + it.write(jsonString.toByteArray()) + } + ExportResult.EXPORT_OK + } catch (_: Error) { + ExportResult.EXPORT_FAIL + } + } + enum class ImportResult { IMPORT_FAIL, IMPORT_OK, IMPORT_PARTIAL, IMPORT_NOTHING_NEW }