Created exportNotes function in NotesHelper

This commit is contained in:
merkost 2023-07-28 17:36:13 +10:00
parent 2fd8dcf4b1
commit 838f50efb2
1 changed files with 16 additions and 0 deletions

View File

@ -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<Note>) -> Unit) {
@ -124,6 +128,18 @@ class NotesHelper(val context: Context) {
}
}
fun exportNotes(notesToBackup: List<Note>, 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
}