From f93b99ddc3605a5c31296134266b6ece0efb812f Mon Sep 17 00:00:00 2001 From: Girish Suragani Date: Fri, 12 Jan 2024 15:01:26 +0530 Subject: [PATCH] =?UTF-8?q?TP-52983=20|=20Girish=20Suragani=20|=20Fixed=20?= =?UTF-8?q?rt=5Fcreated=5Fat=20null=20crash=20in=20Chat=20s=E2=80=A6=20(#9?= =?UTF-8?q?262)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/navi/chat/utils/ChatJsonDeserializer.kt | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/navi-chat/src/main/java/com/navi/chat/utils/ChatJsonDeserializer.kt b/navi-chat/src/main/java/com/navi/chat/utils/ChatJsonDeserializer.kt index e88d751944..06315dc880 100644 --- a/navi-chat/src/main/java/com/navi/chat/utils/ChatJsonDeserializer.kt +++ b/navi-chat/src/main/java/com/navi/chat/utils/ChatJsonDeserializer.kt @@ -39,13 +39,18 @@ object ChatJsonDeserializer : JsonDeserializer { context: JsonDeserializationContext?, ): NaviChatWidget? { json?.let { - val rtCreatedAt = it.asJsonObject[NAVI_CHAT_RT_CREATED_AT] + var timestamp = Timestamp(0, 0) val jsonObject = it.asJsonObject - val timestamp = - Timestamp( - rtCreatedAt.asJsonObject["seconds"].asLong, - rtCreatedAt.asJsonObject["nanos"].asInt - ) + val rtCreatedAt = jsonObject?.get(NAVI_CHAT_RT_CREATED_AT) + if (rtCreatedAt?.isJsonObject == true && !rtCreatedAt.isJsonNull) { + rtCreatedAt.asJsonObject?.let { rtCreatedAtObject -> + val seconds = rtCreatedAtObject.get("seconds") + val nanos = rtCreatedAtObject.get("nanos") + if (seconds?.isJsonNull == false && nanos?.isJsonNull == false) { + timestamp = Timestamp(seconds.asLong, nanos.asInt) + } + } + } if (!jsonObject.has(NAVI_CHAT_WIDGET_NAME)) { return null }