diff --git a/android/app/src/main/kotlin/app/cogwheel/conduit/BackgroundStreamingHandler.kt b/android/app/src/main/kotlin/app/cogwheel/conduit/BackgroundStreamingHandler.kt index e07ea85..a05d9cd 100644 --- a/android/app/src/main/kotlin/app/cogwheel/conduit/BackgroundStreamingHandler.kt +++ b/android/app/src/main/kotlin/app/cogwheel/conduit/BackgroundStreamingHandler.kt @@ -266,7 +266,6 @@ class BackgroundStreamingHandler(private val activity: MainActivity) : MethodCal } private fun startBackgroundExecution(streamIds: List, requiresMic: Boolean) { - activeStreams.clear() activeStreams.addAll(streamIds) streamsRequiringMic.retainAll(activeStreams) if (requiresMic) { diff --git a/ios/Runner/AppDelegate.swift b/ios/Runner/AppDelegate.swift index a23ac58..a509cec 100644 --- a/ios/Runner/AppDelegate.swift +++ b/ios/Runner/AppDelegate.swift @@ -130,9 +130,13 @@ class BackgroundStreamingHandler: NSObject { } private func startBackgroundExecution(streamIds: [String], requiresMic: Bool) { - activeStreams = Set(streamIds) + activeStreams.formUnion(streamIds) + microphoneStreams.formIntersection(activeStreams) if requiresMic { - microphoneStreams = microphoneStreams.union(streamIds) + microphoneStreams.formUnion(streamIds) + } + + if !microphoneStreams.isEmpty { VoiceBackgroundAudioManager.shared.activate() }