From 487d1bd430b40ced3bde9c9a2fed13de85ec0e62 Mon Sep 17 00:00:00 2001 From: Bryan Van Deusen Date: Wed, 3 Jun 2026 20:58:59 -0400 Subject: [PATCH] fix(android): SOAP/UPnP parsers enable processNamespaces -- correct name extraction Co-Authored-By: Claude Sonnet 4.6 --- .../fabledsword/minstrel/player/output/upnp/DeviceDescription.kt | 1 + .../com/fabledsword/minstrel/player/output/upnp/SoapClient.kt | 1 + .../minstrel/player/output/upnp/sonos/SonosTopology.kt | 1 + 3 files changed, 3 insertions(+) diff --git a/android/app/src/main/java/com/fabledsword/minstrel/player/output/upnp/DeviceDescription.kt b/android/app/src/main/java/com/fabledsword/minstrel/player/output/upnp/DeviceDescription.kt index 4dd49569..4dcb8f94 100644 --- a/android/app/src/main/java/com/fabledsword/minstrel/player/output/upnp/DeviceDescription.kt +++ b/android/app/src/main/java/com/fabledsword/minstrel/player/output/upnp/DeviceDescription.kt @@ -45,6 +45,7 @@ data class DeviceDescription( */ fun parse(xml: String, base: HttpUrl): DeviceDescription? { val parser = XmlPullParserFactory.newInstance().newPullParser().apply { + setFeature(XmlPullParser.FEATURE_PROCESS_NAMESPACES, true) setInput(xml.reader()) } val acc = ParseState() diff --git a/android/app/src/main/java/com/fabledsword/minstrel/player/output/upnp/SoapClient.kt b/android/app/src/main/java/com/fabledsword/minstrel/player/output/upnp/SoapClient.kt index 31365683..4a25fde3 100644 --- a/android/app/src/main/java/com/fabledsword/minstrel/player/output/upnp/SoapClient.kt +++ b/android/app/src/main/java/com/fabledsword/minstrel/player/output/upnp/SoapClient.kt @@ -75,6 +75,7 @@ class SoapClient( private fun parseResponseArgs(body: String, action: String): Map { val parser = XmlPullParserFactory.newInstance().newPullParser().apply { + setFeature(XmlPullParser.FEATURE_PROCESS_NAMESPACES, true) setInput(body.reader()) } val responseTag = "${action}Response" diff --git a/android/app/src/main/java/com/fabledsword/minstrel/player/output/upnp/sonos/SonosTopology.kt b/android/app/src/main/java/com/fabledsword/minstrel/player/output/upnp/sonos/SonosTopology.kt index 56d276f1..a823de2d 100644 --- a/android/app/src/main/java/com/fabledsword/minstrel/player/output/upnp/sonos/SonosTopology.kt +++ b/android/app/src/main/java/com/fabledsword/minstrel/player/output/upnp/sonos/SonosTopology.kt @@ -41,6 +41,7 @@ object SonosTopology { private fun parseStrict(xml: String): List { val parser = XmlPullParserFactory.newInstance().newPullParser().apply { + setFeature(XmlPullParser.FEATURE_PROCESS_NAMESPACES, true) setInput(xml.reader()) } val groups = mutableListOf()