mirror of
https://github.com/msfjarvis/compose-lobsters
synced 2025-08-17 16:47:01 +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>>()
|
private val adapter = moshi.adapter<List<SavedPost>>()
|
||||||
|
|
||||||
suspend fun exportSavedPosts(): String {
|
suspend fun exportSavedPosts(): ByteArray {
|
||||||
val posts =
|
val posts =
|
||||||
withContext(Dispatchers.IO) { database.savedPostQueries.selectAllPosts().executeAsList() }
|
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) {
|
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) } }
|
database.transaction { posts.forEach { database.savedPostQueries.insertOrReplacePost(it) } }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -24,7 +24,7 @@ fun BackupOption(
|
||||||
if (uri == null) return@registerForActivityResult
|
if (uri == null) return@registerForActivityResult
|
||||||
context.contentResolver.openOutputStream(uri)?.let {
|
context.contentResolver.openOutputStream(uri)?.let {
|
||||||
coroutineScope.launch(Dispatchers.IO) {
|
coroutineScope.launch(Dispatchers.IO) {
|
||||||
it.write(backupHandler.exportSavedPosts().toByteArray(Charsets.UTF_8))
|
it.write(backupHandler.exportSavedPosts())
|
||||||
it.close()
|
it.close()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -47,7 +47,7 @@ fun RestoreOption(
|
||||||
if (uri == null) return@registerForActivityResult
|
if (uri == null) return@registerForActivityResult
|
||||||
context.contentResolver.openInputStream(uri)?.let {
|
context.contentResolver.openInputStream(uri)?.let {
|
||||||
coroutineScope.launch(Dispatchers.IO) {
|
coroutineScope.launch(Dispatchers.IO) {
|
||||||
backupHandler.importSavedPosts(it.readBytes().toString(Charsets.UTF_8))
|
backupHandler.importSavedPosts(it.readBytes())
|
||||||
it.close()
|
it.close()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue