diff --git a/apps/android/app/src/main/java/ai/openclaw/app/node/NotificationsHandler.kt b/apps/android/app/src/main/java/ai/openclaw/app/node/NotificationsHandler.kt index 0a43c0bf79b7..ba342b1a4b59 100644 --- a/apps/android/app/src/main/java/ai/openclaw/app/node/NotificationsHandler.kt +++ b/apps/android/app/src/main/java/ai/openclaw/app/node/NotificationsHandler.kt @@ -2,7 +2,6 @@ package ai.openclaw.app.node import ai.openclaw.app.gateway.GatewaySession import android.content.Context -import kotlinx.serialization.json.Json import kotlinx.serialization.json.JsonArray import kotlinx.serialization.json.JsonObject import kotlinx.serialization.json.JsonPrimitive @@ -68,7 +67,7 @@ class NotificationsHandler private constructor( readSnapshotWithRebind() val params = - parseParamsObject(paramsJson) + parseJsonParamsObject(paramsJson) ?: return GatewaySession.InvokeResult.error( code = "INVALID_REQUEST", message = "INVALID_REQUEST: expected JSON object", @@ -153,15 +152,6 @@ class NotificationsHandler private constructor( ) }.toString() - private fun parseParamsObject(paramsJson: String?): JsonObject? { - if (paramsJson.isNullOrBlank()) return null - return try { - Json.parseToJsonElement(paramsJson).asObjectOrNull() - } catch (_: Throwable) { - null - } - } - private fun readString( params: JsonObject, key: String, diff --git a/apps/android/app/src/main/java/ai/openclaw/app/node/SystemHandler.kt b/apps/android/app/src/main/java/ai/openclaw/app/node/SystemHandler.kt index 9099997f2add..7c8329c292f7 100644 --- a/apps/android/app/src/main/java/ai/openclaw/app/node/SystemHandler.kt +++ b/apps/android/app/src/main/java/ai/openclaw/app/node/SystemHandler.kt @@ -13,8 +13,6 @@ import android.os.Build import androidx.core.app.NotificationCompat import androidx.core.app.NotificationManagerCompat import androidx.core.content.ContextCompat -import kotlinx.serialization.json.Json -import kotlinx.serialization.json.JsonObject import kotlinx.serialization.json.JsonPrimitive import kotlinx.serialization.json.contentOrNull @@ -163,7 +161,7 @@ class SystemHandler private constructor( } private fun parseNotifyRequest(paramsJson: String?): SystemNotifyRequest? { - val params = parseParamsObject(paramsJson) ?: return null + val params = parseJsonParamsObject(paramsJson) ?: return null // title/body are required by the gateway contract; optional fields only // influence Android channel/silence behavior. val rawTitle = @@ -184,15 +182,6 @@ class SystemHandler private constructor( ) } - private fun parseParamsObject(paramsJson: String?): JsonObject? { - if (paramsJson.isNullOrBlank()) return null - return try { - Json.parseToJsonElement(paramsJson).asObjectOrNull() - } catch (_: Throwable) { - null - } - } - companion object { /** Creates a handler with a fake poster for parser and authorization tests. */ internal fun forTesting(poster: SystemNotificationPoster): SystemHandler = SystemHandler(poster)