From 645706bf8fa31c92474bd9a51a3b1525c52aa503 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Blin?= <sebastien.blin@savoirfairelinux.com> Date: Thu, 1 Jun 2023 13:07:51 -0400 Subject: [PATCH] JamiPushReceiver.kt: avoid crash if non json received `curl -d "Hi" ${topic}` is crashing Jami because data is not a JSON object Change-Id: I7e077d8adafcaa2b836254df66cac9a70346d553 --- .../java/cx/ring/services/JamPushReceiver.kt | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/jami-android/app/src/withUnifiedPush/java/cx/ring/services/JamPushReceiver.kt b/jami-android/app/src/withUnifiedPush/java/cx/ring/services/JamPushReceiver.kt index 605aac185..c49a3cab7 100644 --- a/jami-android/app/src/withUnifiedPush/java/cx/ring/services/JamPushReceiver.kt +++ b/jami-android/app/src/withUnifiedPush/java/cx/ring/services/JamPushReceiver.kt @@ -29,11 +29,15 @@ import java.net.URI class JamiPushReceiver : MessagingReceiver() { override fun onMessage(context: Context, message: ByteArray, instance: String) { Log.w("JamiPushReceiver", "onMessage ${String(message)} $instance") - val obj = JSONObject(String(message)) - val msg = HashMap<String, String>() - obj.keys().forEach { msg[it] = obj.getString(it) } - val app = JamiApplication.instance as JamiApplicationUnifiedPush? - app?.onMessage(msg) + try { + val obj = JSONObject(String(message)) + val msg = HashMap<String, String>() + obj.keys().forEach { msg[it] = obj.getString(it) } + val app = JamiApplication.instance as JamiApplicationUnifiedPush? + app?.onMessage(msg) + } catch(e: Exception) { + Log.e("JamiPushReceiver", "onMessage", e) + } } override fun onNewEndpoint(context: Context, endpoint: String, instance: String) { -- GitLab