diff --git a/.changeset/sixty-radios-switch.md b/.changeset/sixty-radios-switch.md new file mode 100644 index 000000000..4dcf3e936 --- /dev/null +++ b/.changeset/sixty-radios-switch.md @@ -0,0 +1,5 @@ +--- +"client-sdk-android": patch +--- + +perf: Skip Klaxon parsing for empty agent attribute maps diff --git a/livekit-android-sdk/src/main/java/io/livekit/android/room/types/AgentTypesExt.kt b/livekit-android-sdk/src/main/java/io/livekit/android/room/types/AgentTypesExt.kt index 905c8743f..72ec9ef62 100644 --- a/livekit-android-sdk/src/main/java/io/livekit/android/room/types/AgentTypesExt.kt +++ b/livekit-android-sdk/src/main/java/io/livekit/android/room/types/AgentTypesExt.kt @@ -28,6 +28,10 @@ internal fun AgentAttributes.Companion.fromJsonObject(jsonObject: JsonObject) = * @suppress */ fun AgentAttributes.Companion.fromMap(map: Map): AgentAttributes { + if (map.values.all { it == null }) { + return AgentAttributes() + } + return fromJsonObject(JsonObject(map)) ?: AgentAttributes() }