mirror of
https://gitlab.opencode.de/bwi/bundesmessenger/clients/bundesmessenger-ios.git
synced 2026-04-24 02:22:44 +02:00
Add allowBackgroundAudioMessagePlayback build setting
This commit is contained in:
@@ -41,6 +41,7 @@ class VoiceMessageAudioPlayer: NSObject {
|
||||
private var playbackBufferEmptyObserver: NSKeyValueObservation?
|
||||
private var rateObserver: NSKeyValueObservation?
|
||||
private var playToEndObserver: NSObjectProtocol?
|
||||
private var appBackgroundObserver: NSObjectProtocol?
|
||||
|
||||
private let delegateContainer = DelegateContainer()
|
||||
|
||||
@@ -198,6 +199,15 @@ class VoiceMessageAudioPlayer: NSObject {
|
||||
(delegate as? VoiceMessageAudioPlayerDelegate)?.audioPlayerDidFinishPlaying(self)
|
||||
}
|
||||
}
|
||||
|
||||
appBackgroundObserver = NotificationCenter.default.addObserver(forName: UIApplication.didEnterBackgroundNotification, object: nil, queue: nil) { [weak self] _ in
|
||||
guard let self = self, !BuildSettings.allowBackgroundAudioMessagePlayback else { return }
|
||||
|
||||
self.pause()
|
||||
self.delegateContainer.notifyDelegatesWithBlock { delegate in
|
||||
(delegate as? VoiceMessageAudioPlayerDelegate)?.audioPlayerDidPausePlaying(self)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private func removeObservers() {
|
||||
@@ -205,6 +215,7 @@ class VoiceMessageAudioPlayer: NSObject {
|
||||
playbackBufferEmptyObserver?.invalidate()
|
||||
rateObserver?.invalidate()
|
||||
NotificationCenter.default.removeObserver(playToEndObserver as Any)
|
||||
NotificationCenter.default.removeObserver(appBackgroundObserver as Any)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user