back up messages
This commit is contained in:
parent
b74a511a5e
commit
7f32115afe
7 changed files with 417 additions and 2 deletions
|
|
@ -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)
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue