dev → main: Android UPnP/Sonos transport parity + server stream URL extension #79

Merged
bvandeusen merged 69 commits from dev into main 2026-06-04 08:15:15 -04:00
3 changed files with 3 additions and 0 deletions
Showing only changes of commit 487d1bd430 - Show all commits
@@ -45,6 +45,7 @@ data class DeviceDescription(
*/ */
fun parse(xml: String, base: HttpUrl): DeviceDescription? { fun parse(xml: String, base: HttpUrl): DeviceDescription? {
val parser = XmlPullParserFactory.newInstance().newPullParser().apply { val parser = XmlPullParserFactory.newInstance().newPullParser().apply {
setFeature(XmlPullParser.FEATURE_PROCESS_NAMESPACES, true)
setInput(xml.reader()) setInput(xml.reader())
} }
val acc = ParseState() val acc = ParseState()
@@ -75,6 +75,7 @@ class SoapClient(
private fun parseResponseArgs(body: String, action: String): Map<String, String> { private fun parseResponseArgs(body: String, action: String): Map<String, String> {
val parser = XmlPullParserFactory.newInstance().newPullParser().apply { val parser = XmlPullParserFactory.newInstance().newPullParser().apply {
setFeature(XmlPullParser.FEATURE_PROCESS_NAMESPACES, true)
setInput(body.reader()) setInput(body.reader())
} }
val responseTag = "${action}Response" val responseTag = "${action}Response"
@@ -41,6 +41,7 @@ object SonosTopology {
private fun parseStrict(xml: String): List<SonosZoneGroup> { private fun parseStrict(xml: String): List<SonosZoneGroup> {
val parser = XmlPullParserFactory.newInstance().newPullParser().apply { val parser = XmlPullParserFactory.newInstance().newPullParser().apply {
setFeature(XmlPullParser.FEATURE_PROCESS_NAMESPACES, true)
setInput(xml.reader()) setInput(xml.reader())
} }
val groups = mutableListOf<SonosZoneGroup>() val groups = mutableListOf<SonosZoneGroup>()