back up messages

This commit is contained in:
Paul Akhamiogu 2021-09-12 00:43:00 +01:00
parent b74a511a5e
commit 7f32115afe
7 changed files with 417 additions and 2 deletions

View file

@ -0,0 +1,44 @@
package com.simplemobiletools.smsmessenger.helpers
import com.google.gson.JsonArray
import com.google.gson.JsonNull
import com.google.gson.JsonObject
import com.google.gson.JsonPrimitive
import com.google.gson.stream.JsonWriter
class JsonObjectWriter(private val writer: JsonWriter) {
fun dump(obj: JsonObject) {
writer.beginObject()
for (key in obj.keySet()) {
writer.name(key)
val keyObj = obj.get(key)
dump(keyObj)
}
writer.endObject()
}
private fun dump(arr: JsonArray) {
writer.beginArray()
for (i in 0 until arr.size()) {
dump(arr.get(i))
}
writer.endArray()
}
private fun dump(obj: Any) {
when (obj) {
is JsonNull -> writer.nullValue()
is JsonPrimitive -> {
when{
obj.isString -> writer.value(obj.asString)
obj.isBoolean -> writer.value(obj.asNumber)
obj.isNumber -> writer.value(obj.asBoolean)
obj.isNumber -> writer.value(obj.asBoolean)
}
}
is JsonArray -> dump(obj)
is JsonObject -> dump(obj)
}
}
}