Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5091fea0 authored by Santiago Seifert's avatar Santiago Seifert Committed by Automerger Merge Worker
Browse files

Guard MediaDeviceManager.Entry against successive stop calls am: ae173fef

parents a46dc192 ae173fef
Loading
Loading
Loading
Loading
+18 −14
Original line number Original line Diff line number Diff line
@@ -188,6 +188,7 @@ class MediaDeviceManager @Inject constructor(


        @AnyThread
        @AnyThread
        fun start() = bgExecutor.execute {
        fun start() = bgExecutor.execute {
            if (!started) {
                localMediaManager.registerCallback(this)
                localMediaManager.registerCallback(this)
                localMediaManager.startScan()
                localMediaManager.startScan()
                muteAwaitConnectionManager?.startListening()
                muteAwaitConnectionManager?.startListening()
@@ -197,9 +198,11 @@ class MediaDeviceManager @Inject constructor(
                started = true
                started = true
                configurationController.addCallback(configListener)
                configurationController.addCallback(configListener)
            }
            }
        }


        @AnyThread
        @AnyThread
        fun stop() = bgExecutor.execute {
        fun stop() = bgExecutor.execute {
            if (started) {
                started = false
                started = false
                controller?.unregisterCallback(this)
                controller?.unregisterCallback(this)
                localMediaManager.stopScan()
                localMediaManager.stopScan()
@@ -207,6 +210,7 @@ class MediaDeviceManager @Inject constructor(
                muteAwaitConnectionManager?.stopListening()
                muteAwaitConnectionManager?.stopListening()
                configurationController.removeCallback(configListener)
                configurationController.removeCallback(configListener)
            }
            }
        }


        fun dump(pw: PrintWriter) {
        fun dump(pw: PrintWriter) {
            val routingSession = controller?.let {
            val routingSession = controller?.let {