fix: issue 3085, onFullscreen call backs are never fired
This commit is contained in:
parent
50b3650e2f
commit
238daf8720
@ -59,6 +59,7 @@ class RCTVideo: UIView, RCTVideoPlayerViewControllerDelegate, RCTPlayerObserverH
|
|||||||
private var _fullscreenAutorotate:Bool = true
|
private var _fullscreenAutorotate:Bool = true
|
||||||
private var _fullscreenOrientation:String! = "all"
|
private var _fullscreenOrientation:String! = "all"
|
||||||
private var _fullscreenPlayerPresented:Bool = false
|
private var _fullscreenPlayerPresented:Bool = false
|
||||||
|
private var _fullscreenUncontrolPlayerPresented:Bool = false // to call events switching full screen mode from player controls
|
||||||
private var _filterName:String!
|
private var _filterName:String!
|
||||||
private var _filterEnabled:Bool = false
|
private var _filterEnabled:Bool = false
|
||||||
private var _presentingViewController:UIViewController?
|
private var _presentingViewController:UIViewController?
|
||||||
@ -1113,12 +1114,27 @@ class RCTVideo: UIView, RCTVideoPlayerViewControllerDelegate, RCTPlayerObserverH
|
|||||||
let oldRect = change.oldValue
|
let oldRect = change.oldValue
|
||||||
let newRect = change.newValue
|
let newRect = change.newValue
|
||||||
if !oldRect!.equalTo(newRect!) {
|
if !oldRect!.equalTo(newRect!) {
|
||||||
|
// https://github.com/react-native-video/react-native-video/issues/3085#issuecomment-1557293391
|
||||||
if newRect!.equalTo(UIScreen.main.bounds) {
|
if newRect!.equalTo(UIScreen.main.bounds) {
|
||||||
RCTLog("in fullscreen")
|
RCTLog("in fullscreen")
|
||||||
|
if (!_fullscreenUncontrolPlayerPresented) {
|
||||||
|
_fullscreenUncontrolPlayerPresented = true;
|
||||||
|
|
||||||
self.reactViewController().view.frame = UIScreen.main.bounds
|
self.onVideoFullscreenPlayerWillPresent?(["target": self.reactTag as Any])
|
||||||
self.reactViewController().view.setNeedsLayout()
|
self.onVideoFullscreenPlayerDidPresent?(["target": self.reactTag as Any])
|
||||||
} else {NSLog("not fullscreen")}
|
}
|
||||||
|
} else {
|
||||||
|
NSLog("not fullscreen")
|
||||||
|
if (_fullscreenUncontrolPlayerPresented) {
|
||||||
|
_fullscreenUncontrolPlayerPresented = false;
|
||||||
|
|
||||||
|
self.onVideoFullscreenPlayerWillDismiss?(["target": self.reactTag as Any])
|
||||||
|
self.onVideoFullscreenPlayerDidDismiss?(["target": self.reactTag as Any])
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
self.reactViewController().view.frame = UIScreen.main.bounds
|
||||||
|
self.reactViewController().view.setNeedsLayout()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user