diff --git a/Sources/Playback/Player/AudioPlayer/AudioPlayerView.swift b/Sources/Playback/Player/AudioPlayer/AudioPlayerView.swift index 5ebbc0978f4f14a8bb4b0b63567c19ba54ef1712..aff0feda7361afb36872e63e516142ad6339df91 100644 --- a/Sources/Playback/Player/AudioPlayer/AudioPlayerView.swift +++ b/Sources/Playback/Player/AudioPlayer/AudioPlayerView.swift @@ -376,6 +376,18 @@ class AudioPlayerView: UIView, UIGestureRecognizerDelegate { playbackSpeedButton.alpha = enabled ? 1.0 : 0.5 } + func shouldEnableSeekButtons(_ enabled: Bool) { + backwardButton.isEnabled = enabled + backwardButton.isHidden = !enabled + forwardButton.isEnabled = enabled + forwardButton.isHidden = !enabled + + previousButton.isEnabled = !enabled + previousButton.isHidden = enabled + nextButton.isEnabled = !enabled + nextButton.isHidden = enabled + } + func updateConstraints(for orientation: UIDeviceOrientation) { let isPad: Bool = UIDevice.current.userInterfaceIdiom == .pad diff --git a/Sources/Playback/Player/AudioPlayer/AudioPlayerViewController.swift b/Sources/Playback/Player/AudioPlayer/AudioPlayerViewController.swift index 6d5ea2b38b5fe4245fb6ea8eae23618b4729b7da..c25138e25a6a778b2b7a3f10b38ad2d2dfa1187f 100644 --- a/Sources/Playback/Player/AudioPlayer/AudioPlayerViewController.swift +++ b/Sources/Playback/Player/AudioPlayer/AudioPlayerViewController.swift @@ -320,6 +320,10 @@ class AudioPlayerViewController: PlayerViewController { return orientation } + + @objc override func updatePlayerControls() { + audioPlayerView.shouldEnableSeekButtons(playbackService.mediaList.count == 1) + } } // MARK: - AudioPlayerViewDelegate @@ -439,6 +443,7 @@ extension AudioPlayerViewController { for: playbackService) audioPlayerView.updatePlayButton(isPlaying: isPlaying) + audioPlayerView.shouldEnableSeekButtons(playbackService.mediaList.count == 1) let image: UIImage? = isPlaying ? UIImage(named: "minimize") : UIImage(named: "close") let accessibilityLabel: String = isPlaying ? NSLocalizedString("MINIMIZE_BUTTON", comment: "") : NSLocalizedString("STOP_BUTTON", comment: "") diff --git a/Sources/Playback/Player/PlayerViewController.swift b/Sources/Playback/Player/PlayerViewController.swift index efc39d4a46e64146ee05d4f2f6b8c8a5e74779d1..661961fa11174523174932206e3ebbfedaddfba6 100644 --- a/Sources/Playback/Player/PlayerViewController.swift +++ b/Sources/Playback/Player/PlayerViewController.swift @@ -630,10 +630,13 @@ class PlayerViewController: UIViewController { volumeView.alpha = 0.00001 view.addSubview(volumeView) } - + private func setupObservers() { try? AVAudioSession.sharedInstance().setActive(true) AVAudioSession.sharedInstance().addObserver(self, forKeyPath: "outputVolume", options: NSKeyValueObservingOptions.new, context: nil) + + NotificationCenter.default.addObserver(self, selector: #selector(updatePlayerControls), name: .VLCDidAppendMediaToQueue, object: nil) + NotificationCenter.default.addObserver(self, selector: #selector(updatePlayerControls), name: .VLCDidRemoveMediaFromQueue, object: nil) } private func setupSeekDurations() { @@ -901,6 +904,10 @@ class PlayerViewController: UIViewController { executeSeekFromGesture(.tap) } + + @objc func updatePlayerControls() { + // UPDATE THE PLAYER CONTROLS + } } // MARK: - VLCPlaybackServiceDelegate