-
Notifications
You must be signed in to change notification settings - Fork 1
Description
When creating two publications simultaneously in Kotlin, it sometimes happens that the parsing with the Gson class contains an error. Indeed the two JSONs of the publication are mixed and they are separated by a"]" instead of a comma. Should be a problem when writting the "kPublicationsFile.Alps" file. here is the code :
MainActivity.kt
matchmoreModel.createPublication("XX", 200.0, 60.0, "XParty")
matchmoreModel.createPublication("XX", 200.0, 60.0, "XRegister")
MatchMoreModel.kt
fun createMainDevice() {
Matchmore.instance.apply {
startUsingMainDevice(
{ device ->
deviceModel = device.id as String
Log.i(TAG, "start using device ${device.name}")
}, Throwable::printStackTrace)
}
}
fun createPublication(topic: String, range: Double, duration: Double, type: String) {
Matchmore.instance.apply {
val publication = Publication(topic, range, duration)
publication.properties = hashMapOf("type" to type, "name" to "Party 1")
Matchmore.instance.createPublicationForMainDevice(publication, { result ->
Log.i(TAG, "Publication created ${result.topic}")
}, Throwable::printStackTrace)
}
}
Errors :
AndroidRuntime: FATAL EXCEPTION: main
Process: com.zombieapp.maxime.zombieapp, PID: 5125
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.zombieapp.maxime.zombieapp/com.zombieapp.maxime.zombieapp.MainActivity}: com.google.gson.JsonSyntaxException: com.google.gson.stream.MalformedJsonException: Use JsonReader.setLenient(true) to accept malformed JSON at line 1 column 225 path $
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2817)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2892)
at android.app.ActivityThread.-wrap11(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1593)
at android.os.Handler.dispatchMessage(Handler.java:105)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6541)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)
Caused by: com.google.gson.JsonSyntaxException: com.google.gson.stream.MalformedJsonException: Use JsonReader.setLenient(true) to accept malformed JSON at line 1 column 225 path $
at com.google.gson.Gson.assertFullConsumption(Gson.java:903)
at com.google.gson.Gson.fromJson(Gson.java:893)
at com.google.gson.Gson.fromJson(Gson.java:841)
at io.matchmore.sdk.store.PublicationStore.(PublicationStore.kt:67)
at io.matchmore.sdk.AlpsManager$publicationStore$2.invoke(AlpsManager.kt:30)
at io.matchmore.sdk.AlpsManager$publicationStore$2.invoke(AlpsManager.kt:21)
at kotlin.SynchronizedLazyImpl.getValue(LazyJVM.kt:74)
at io.matchmore.sdk.AlpsManager.getPublicationStore(Unknown Source:7)
at io.matchmore.sdk.AlpsManager.(AlpsManager.kt:57)
at io.matchmore.sdk.Matchmore$instance$2.invoke(Matchmore.kt:23)
at io.matchmore.sdk.Matchmore$instance$2.invoke(Matchmore.kt:17)
at kotlin.SynchronizedLazyImpl.getValue(LazyJVM.kt:74)
at io.matchmore.sdk.Matchmore.getInstance(Unknown Source:9)
at com.zombieapp.maxime.zombieapp.MatchmoreModel.createMainDevice(MatchmoreModel.kt:21)
at com.zombieapp.maxime.zombieapp.MainActivity.onCreate(MainActivity.kt:17)
at android.app.Activity.performCreate(Activity.java:6975)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1213)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2770)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2892)
at android.app.ActivityThread.-wrap11(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1593)
at android.os.Handler.dispatchMessage(Handler.java:105)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6541)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)
Caused by: com.google.gson.stream.MalformedJsonException: Use JsonReader.setLenient(true) to accept malformed JSON at line 1 column 225 path $
at com.google.gson.stream.JsonReader.syntaxError(JsonReader.java:1568)
at com.google.gson.stream.JsonReader.checkLenient(JsonReader.java:1409)
at com.google.gson.stream.JsonReader.doPeek(JsonReader.java:542)
at com.google.gson.stream.JsonReader.peek(JsonReader.java:425)
at com.google.gson.Gson.assertFullConsumption(Gson.java:899)
at com.google.gson.Gson.fromJson(Gson.java:893)
at com.google.gson.Gson.fromJson(Gson.java:841)
at io.matchmore.sdk.store.PublicationStore.(PublicationStore.kt:67)
at io.matchmore.sdk.AlpsManager$publicationStore$2.invoke(AlpsManager.kt:30)
at io.matchmore.sdk.AlpsManager$publicationStore$2.invoke(AlpsManager.kt:21)
at kotlin.SynchronizedLazyImpl.getValue(LazyJVM.kt:74)
at io.matchmore.sdk.AlpsManager.getPublicationStore(Unknown Source:7)
at io.matchmore.sdk.AlpsManager.(AlpsManager.kt:57)
at io.matchmore.sdk.Matchmore$instance$2.invoke(Matchmore.kt:23)
at io.matchmore.sdk.Matchmore$instance$2.invoke(Matchmore.kt:17)
at kotlin.SynchronizedLazyImpl.getValue(LazyJVM.kt:74)
at io.matchmore.sdk.Matchmore.getInstance(Unknown Source:9)
at com.zombieapp.maxime.zombieapp.MatchmoreModel.createMainDevice(MatchmoreModel.kt:21)
at com.zombieapp.maxime.zombieapp.MainActivity.onCreate(MainActivity.kt:17)
at android.app.Activity.performCreate(Activity.java:6975)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1213)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2770)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2892)
at android.app.ActivityThread.-wrap11(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1593)
at android.os.Handler.dispatchMessage(Handler.java:105)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6541)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)
MalformedJSON :
https://ibb.co/CtnQwQD