mirror of
https://github.com/msfjarvis/compose-lobsters
synced 2025-08-17 23:47:02 +05:30
app: move ByteArray interpolation to BackupHandler
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
This commit is contained in:
parent
31fbc8c95c
commit
b4069af1c7
2 changed files with 6 additions and 6 deletions
|
@ -17,15 +17,15 @@ constructor(
|
|||
) {
|
||||
private val adapter = moshi.adapter<List<SavedPost>>()
|
||||
|
||||
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) } }
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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()
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue