Added initialization of JitsiMeetManager components
This commit is contained in:
parent
0a5f60c637
commit
a26ccf195e
|
@ -9,27 +9,39 @@ open class JitsiMeetManager: NSObject {
|
||||||
/// Defines if welcome screen should be on
|
/// Defines if welcome screen should be on
|
||||||
public var welcomeScreenEnabled: Bool = false {
|
public var welcomeScreenEnabled: Bool = false {
|
||||||
didSet {
|
didSet {
|
||||||
meetViewController.jitsiMeetView.welcomePageEnabled = welcomeScreenEnabled
|
meetViewController?.jitsiMeetView.welcomePageEnabled = welcomeScreenEnabled
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fileprivate lazy var meetViewController: JitsiMeetViewController = { return self.makeMeetViewController() }()
|
private(set) var meetViewController: JitsiMeetViewController?
|
||||||
fileprivate lazy var meetWindow: PiPWindow = { return self.makeMeetWindow() }()
|
private(set) var meetWindow: PiPWindow?
|
||||||
|
|
||||||
|
override public init() {
|
||||||
|
super.init()
|
||||||
|
self.meetViewController = makeMeetViewController()
|
||||||
|
self.meetWindow = makeMeetWindow()
|
||||||
|
}
|
||||||
|
|
||||||
|
public init(meetViewController: JitsiMeetViewController? = nil, meetWindow: PiPWindow? = nil) {
|
||||||
|
super.init()
|
||||||
|
self.meetViewController = meetViewController ?? makeMeetViewController()
|
||||||
|
self.meetWindow = meetWindow ?? makeMeetWindow()
|
||||||
|
}
|
||||||
|
|
||||||
/// Presents and loads a jitsi meet view
|
/// Presents and loads a jitsi meet view
|
||||||
///
|
///
|
||||||
/// - Parameter url: The url of the presentation
|
/// - Parameter url: The url of the presentation
|
||||||
public func load(withUrl url: URL?) {
|
public func load(withUrl url: URL?) {
|
||||||
meetWindow.show()
|
meetWindow?.show()
|
||||||
meetViewController.jitsiMeetView.load(url)
|
meetViewController?.jitsiMeetView.load(url)
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Presents and loads a jitsi meet view with configuration
|
/// Presents and loads a jitsi meet view with configuration
|
||||||
///
|
///
|
||||||
/// - Parameter urlObject: A dictionary of keys to be used for configuration
|
/// - Parameter urlObject: A dictionary of keys to be used for configuration
|
||||||
public func load(withUrlObject urlObject: [AnyHashable : Any]?) {
|
public func load(withUrlObject urlObject: [AnyHashable : Any]?) {
|
||||||
meetWindow.show()
|
meetWindow?.show()
|
||||||
meetViewController.jitsiMeetView.loadURLObject(urlObject)
|
meetViewController?.jitsiMeetView.loadURLObject(urlObject)
|
||||||
}
|
}
|
||||||
|
|
||||||
deinit {
|
deinit {
|
||||||
|
@ -41,8 +53,8 @@ open class JitsiMeetManager: NSObject {
|
||||||
fileprivate func cleanUp() {
|
fileprivate func cleanUp() {
|
||||||
// TODO: more clean up work on this
|
// TODO: more clean up work on this
|
||||||
|
|
||||||
meetWindow.isHidden = true
|
meetWindow?.isHidden = true
|
||||||
meetWindow.stopDragGesture()
|
meetWindow?.stopDragGesture()
|
||||||
}
|
}
|
||||||
|
|
||||||
private func makeMeetViewController() -> JitsiMeetViewController {
|
private func makeMeetViewController() -> JitsiMeetViewController {
|
||||||
|
@ -65,6 +77,8 @@ open class JitsiMeetManager: NSObject {
|
||||||
extension JitsiMeetManager: JitsiMeetViewControllerDelegate {
|
extension JitsiMeetManager: JitsiMeetViewControllerDelegate {
|
||||||
|
|
||||||
open func performPresentationUpdate(to: JitsiMeetPresentationUpdate) {
|
open func performPresentationUpdate(to: JitsiMeetPresentationUpdate) {
|
||||||
|
guard let meetWindow = self.meetWindow else { return }
|
||||||
|
|
||||||
switch to {
|
switch to {
|
||||||
case .enterPiP:
|
case .enterPiP:
|
||||||
meetWindow.goToPiP()
|
meetWindow.goToPiP()
|
||||||
|
|
|
@ -78,7 +78,7 @@ extension JitsiMeetViewController: JitsiMeetViewDelegate {
|
||||||
|
|
||||||
open func enterPicture(inPicture data: [AnyHashable : Any]!) {
|
open func enterPicture(inPicture data: [AnyHashable : Any]!) {
|
||||||
DispatchQueue.main.async {
|
DispatchQueue.main.async {
|
||||||
self.delegate?.performPresentationUpdate(to: .enterPiP)
|
self.delegate?.performPresentationUpdate(to: .enterPiP)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue