fix(ios): ensure controls are not displayed when disabled by user

This commit is contained in:
olivier 2023-01-28 14:40:45 +01:00
parent dc8c618d41
commit 2032a36969

View File

@ -614,7 +614,7 @@ class RCTVideo: UIView, RCTVideoPlayerViewControllerDelegate, RCTPlayerObserverH
func setFullscreen(_ fullscreen:Bool) { func setFullscreen(_ fullscreen:Bool) {
if fullscreen && !_fullscreenPlayerPresented && _player != nil { if fullscreen && !_fullscreenPlayerPresented && _player != nil {
// Ensure player view controller is not null // Ensure player view controller is not null
if _playerViewController == nil { if _playerViewController == nil && _controls {
self.usePlayerViewController() self.usePlayerViewController()
} }
@ -638,7 +638,7 @@ class RCTVideo: UIView, RCTVideoPlayerViewControllerDelegate, RCTPlayerObserverH
if let playerViewController = _playerViewController { if let playerViewController = _playerViewController {
viewController.present(playerViewController, animated:true, completion:{ viewController.present(playerViewController, animated:true, completion:{
self._playerViewController?.showsPlaybackControls = true self._playerViewController?.showsPlaybackControls = self._controls
self._fullscreenPlayerPresented = fullscreen self._fullscreenPlayerPresented = fullscreen
self._playerViewController?.autorotate = self._fullscreenAutorotate self._playerViewController?.autorotate = self._fullscreenAutorotate
@ -694,7 +694,7 @@ class RCTVideo: UIView, RCTVideoPlayerViewControllerDelegate, RCTPlayerObserverH
func createPlayerViewController(player:AVPlayer, withPlayerItem playerItem:AVPlayerItem) -> RCTVideoPlayerViewController { func createPlayerViewController(player:AVPlayer, withPlayerItem playerItem:AVPlayerItem) -> RCTVideoPlayerViewController {
let viewController = RCTVideoPlayerViewController() let viewController = RCTVideoPlayerViewController()
viewController.showsPlaybackControls = true viewController.showsPlaybackControls = self._controls
viewController.rctDelegate = self viewController.rctDelegate = self
viewController.preferredOrientation = _fullscreenOrientation viewController.preferredOrientation = _fullscreenOrientation
@ -836,12 +836,6 @@ class RCTVideo: UIView, RCTVideoPlayerViewControllerDelegate, RCTPlayerObserverH
// MARK: - React View Management // MARK: - React View Management
func insertReactSubview(view:UIView!, atIndex:Int) { func insertReactSubview(view:UIView!, atIndex:Int) {
// We are early in the game and somebody wants to set a subview.
// That can only be in the context of playerViewController.
if !_controls && (_playerLayer == nil) && (_playerViewController == nil) {
setControls(true)
}
if _controls { if _controls {
view.frame = self.bounds view.frame = self.bounds
_playerViewController?.contentOverlayView?.insertSubview(view, at:atIndex) _playerViewController?.contentOverlayView?.insertSubview(view, at:atIndex)