@@ -6,8 +6,19 @@ import android.os.Bundle
66import androidx.localbroadcastmanager.content.LocalBroadcastManager
77import kotlinx.coroutines.Dispatchers
88import kotlinx.coroutines.withContext
9- import kotlinx.serialization.*
10- import kotlinx.serialization.json.*
9+ import kotlinx.serialization.encodeToString
10+ import kotlinx.serialization.json.Json
11+ import kotlinx.serialization.json.JsonArray
12+ import kotlinx.serialization.json.JsonElement
13+ import kotlinx.serialization.json.JsonObject
14+ import kotlinx.serialization.json.JsonPrimitive
15+ import kotlinx.serialization.json.boolean
16+ import kotlinx.serialization.json.booleanOrNull
17+ import kotlinx.serialization.json.double
18+ import kotlinx.serialization.json.doubleOrNull
19+ import kotlinx.serialization.json.int
20+ import kotlinx.serialization.json.intOrNull
21+ import kotlinx.serialization.json.jsonObject
1122import org.mozilla.geckoview.GeckoRuntime
1223
1324object OpacityCore {
@@ -67,8 +78,8 @@ object OpacityCore {
6778 fun presentBrowser () {
6879 val intent = Intent ()
6980 intent.setClassName(
70- appContext.packageName,
71- " com.opacitylabs.opacitycore.InAppBrowserActivity"
81+ appContext.packageName,
82+ " com.opacitylabs.opacitycore.InAppBrowserActivity"
7283 )
7384 intent.putExtra(" url" , _url )
7485 intent.putExtra(" headers" , headers)
@@ -91,12 +102,15 @@ object OpacityCore {
91102 else -> throw Exception (" Could not convert JSON primitive $jsonElement " )
92103 }
93104 }
105+
94106 is JsonObject -> {
95107 jsonElement.toMap().mapValues { parseJsonElementToAny(it.value) }
96108 }
109+
97110 is JsonArray -> {
98111 jsonElement.map { parseJsonElementToAny(it) }
99112 }
113+
100114 else -> throw Exception (" Could not convert JSON primitive $jsonElement " )
101115 }
102116 }
@@ -111,9 +125,9 @@ object OpacityCore {
111125 }
112126
113127 val map: Map <String , Any > =
114- Json .parseToJsonElement(res.data!! ).jsonObject.mapValues {
115- parseJsonElementToAny(it.value)
116- }
128+ Json .parseToJsonElement(res.data!! ).jsonObject.mapValues {
129+ parseJsonElementToAny(it.value)
130+ }
117131 map
118132 }
119133 }
0 commit comments