Guard MediaDeviceManager.Entry against successive stop calls am: ae173fef18
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/20008426 Change-Id: Ie343026b0e079607b19cf55614e1c838ddbb7feb Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -188,24 +188,28 @@ class MediaDeviceManager @Inject constructor(
|
||||
|
||||
@AnyThread
|
||||
fun start() = bgExecutor.execute {
|
||||
localMediaManager.registerCallback(this)
|
||||
localMediaManager.startScan()
|
||||
muteAwaitConnectionManager?.startListening()
|
||||
playbackType = controller?.playbackInfo?.playbackType ?: PLAYBACK_TYPE_UNKNOWN
|
||||
controller?.registerCallback(this)
|
||||
updateCurrent()
|
||||
started = true
|
||||
configurationController.addCallback(configListener)
|
||||
if (!started) {
|
||||
localMediaManager.registerCallback(this)
|
||||
localMediaManager.startScan()
|
||||
muteAwaitConnectionManager?.startListening()
|
||||
playbackType = controller?.playbackInfo?.playbackType ?: PLAYBACK_TYPE_UNKNOWN
|
||||
controller?.registerCallback(this)
|
||||
updateCurrent()
|
||||
started = true
|
||||
configurationController.addCallback(configListener)
|
||||
}
|
||||
}
|
||||
|
||||
@AnyThread
|
||||
fun stop() = bgExecutor.execute {
|
||||
started = false
|
||||
controller?.unregisterCallback(this)
|
||||
localMediaManager.stopScan()
|
||||
localMediaManager.unregisterCallback(this)
|
||||
muteAwaitConnectionManager?.stopListening()
|
||||
configurationController.removeCallback(configListener)
|
||||
if (started) {
|
||||
started = false
|
||||
controller?.unregisterCallback(this)
|
||||
localMediaManager.stopScan()
|
||||
localMediaManager.unregisterCallback(this)
|
||||
muteAwaitConnectionManager?.stopListening()
|
||||
configurationController.removeCallback(configListener)
|
||||
}
|
||||
}
|
||||
|
||||
fun dump(pw: PrintWriter) {
|
||||
|
||||
Reference in New Issue
Block a user