From b4069af1c7183f2d3b112c5ca738a45de8f78979 Mon Sep 17 00:00:00 2001 From: Harsh Shandilya Date: Sat, 3 Apr 2021 15:15:53 +0530 Subject: [PATCH] app: move ByteArray interpolation to BackupHandler Signed-off-by: Harsh Shandilya --- .../dev/msfjarvis/lobsters/data/backup/BackupHandler.kt | 8 ++++---- .../java/dev/msfjarvis/lobsters/ui/settings/Options.kt | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/dev/msfjarvis/lobsters/data/backup/BackupHandler.kt b/app/src/main/java/dev/msfjarvis/lobsters/data/backup/BackupHandler.kt index 6af9b3ac..441dd670 100644 --- a/app/src/main/java/dev/msfjarvis/lobsters/data/backup/BackupHandler.kt +++ b/app/src/main/java/dev/msfjarvis/lobsters/data/backup/BackupHandler.kt @@ -17,15 +17,15 @@ constructor( ) { private val adapter = moshi.adapter>() - suspend fun exportSavedPosts(): String { + suspend fun exportSavedPosts(): ByteArray { val posts = withContext(Dispatchers.IO) { database.savedPostQueries.selectAllPosts().executeAsList() } - return adapter.toJson(posts) + return adapter.toJson(posts).toByteArray(Charsets.UTF_8) } - suspend fun importSavedPosts(json: String) { + suspend fun importSavedPosts(json: ByteArray) { withContext(Dispatchers.IO) { - val posts = requireNotNull(adapter.fromJson(json)) + val posts = requireNotNull(adapter.fromJson(json.toString(Charsets.UTF_8))) database.transaction { posts.forEach { database.savedPostQueries.insertOrReplacePost(it) } } } } diff --git a/app/src/main/java/dev/msfjarvis/lobsters/ui/settings/Options.kt b/app/src/main/java/dev/msfjarvis/lobsters/ui/settings/Options.kt index 72429a41..2861338b 100644 --- a/app/src/main/java/dev/msfjarvis/lobsters/ui/settings/Options.kt +++ b/app/src/main/java/dev/msfjarvis/lobsters/ui/settings/Options.kt @@ -24,7 +24,7 @@ fun BackupOption( if (uri == null) return@registerForActivityResult context.contentResolver.openOutputStream(uri)?.let { coroutineScope.launch(Dispatchers.IO) { - it.write(backupHandler.exportSavedPosts().toByteArray(Charsets.UTF_8)) + it.write(backupHandler.exportSavedPosts()) it.close() } } @@ -47,7 +47,7 @@ fun RestoreOption( if (uri == null) return@registerForActivityResult context.contentResolver.openInputStream(uri)?.let { coroutineScope.launch(Dispatchers.IO) { - backupHandler.importSavedPosts(it.readBytes().toString(Charsets.UTF_8)) + backupHandler.importSavedPosts(it.readBytes()) it.close() } }