Browse Source

Added initialization of JitsiMeetManager components

master
Daniel Ornelas 7 years ago
parent
commit
a26ccf195e

+ 23
- 9
ios/sdk/src/JitsiMeetManager/JitsiMeetManager.swift View File

9
     /// Defines if welcome screen should be on
9
     /// Defines if welcome screen should be on
10
     public var welcomeScreenEnabled: Bool = false {
10
     public var welcomeScreenEnabled: Bool = false {
11
         didSet {
11
         didSet {
12
-            meetViewController.jitsiMeetView.welcomePageEnabled = welcomeScreenEnabled
12
+            meetViewController?.jitsiMeetView.welcomePageEnabled = welcomeScreenEnabled
13
         }
13
         }
14
     }
14
     }
15
     
15
     
16
-    fileprivate lazy var meetViewController: JitsiMeetViewController = { return self.makeMeetViewController() }()
17
-    fileprivate lazy var meetWindow: PiPWindow = { return self.makeMeetWindow() }()
16
+    private(set) var meetViewController: JitsiMeetViewController?
17
+    private(set) var meetWindow: PiPWindow?
18
+    
19
+    override public init() {
20
+        super.init()
21
+        self.meetViewController = makeMeetViewController()
22
+        self.meetWindow = makeMeetWindow()
23
+    }
24
+    
25
+    public init(meetViewController: JitsiMeetViewController? = nil, meetWindow: PiPWindow? = nil) {
26
+        super.init()
27
+        self.meetViewController = meetViewController ?? makeMeetViewController()
28
+        self.meetWindow = meetWindow ?? makeMeetWindow()
29
+    }
18
     
30
     
19
     /// Presents and loads a jitsi meet view
31
     /// Presents and loads a jitsi meet view
20
     ///
32
     ///
21
     /// - Parameter url: The url of the presentation
33
     /// - Parameter url: The url of the presentation
22
     public func load(withUrl url: URL?) {
34
     public func load(withUrl url: URL?) {
23
-        meetWindow.show()
24
-        meetViewController.jitsiMeetView.load(url)
35
+        meetWindow?.show()
36
+        meetViewController?.jitsiMeetView.load(url)
25
     }
37
     }
26
     
38
     
27
     /// Presents and loads a jitsi meet view with configuration
39
     /// Presents and loads a jitsi meet view with configuration
28
     ///
40
     ///
29
     /// - Parameter urlObject: A dictionary of keys to be used for configuration
41
     /// - Parameter urlObject: A dictionary of keys to be used for configuration
30
     public func load(withUrlObject urlObject: [AnyHashable : Any]?) {
42
     public func load(withUrlObject urlObject: [AnyHashable : Any]?) {
31
-        meetWindow.show()
32
-        meetViewController.jitsiMeetView.loadURLObject(urlObject)
43
+        meetWindow?.show()
44
+        meetViewController?.jitsiMeetView.loadURLObject(urlObject)
33
     }
45
     }
34
     
46
     
35
     deinit {
47
     deinit {
41
     fileprivate func cleanUp() {
53
     fileprivate func cleanUp() {
42
         // TODO: more clean up work on this
54
         // TODO: more clean up work on this
43
         
55
         
44
-        meetWindow.isHidden = true
45
-        meetWindow.stopDragGesture()
56
+        meetWindow?.isHidden = true
57
+        meetWindow?.stopDragGesture()
46
     }
58
     }
47
     
59
     
48
     private func makeMeetViewController() -> JitsiMeetViewController {
60
     private func makeMeetViewController() -> JitsiMeetViewController {
65
 extension JitsiMeetManager: JitsiMeetViewControllerDelegate {
77
 extension JitsiMeetManager: JitsiMeetViewControllerDelegate {
66
     
78
     
67
     open func performPresentationUpdate(to: JitsiMeetPresentationUpdate) {
79
     open func performPresentationUpdate(to: JitsiMeetPresentationUpdate) {
80
+        guard let meetWindow = self.meetWindow else { return }
81
+        
68
         switch to {
82
         switch to {
69
         case .enterPiP:
83
         case .enterPiP:
70
             meetWindow.goToPiP()
84
             meetWindow.goToPiP()

+ 1
- 1
ios/sdk/src/JitsiMeetManager/JitsiMeetViewController.swift View File

78
     
78
     
79
     open func enterPicture(inPicture data: [AnyHashable : Any]!) {
79
     open func enterPicture(inPicture data: [AnyHashable : Any]!) {
80
         DispatchQueue.main.async {
80
         DispatchQueue.main.async {
81
-            self.delegate?.performPresentationUpdate(to: .enterPiP)
81
+           self.delegate?.performPresentationUpdate(to: .enterPiP)
82
         }
82
         }
83
     }
83
     }
84
 }
84
 }

Loading…
Cancel
Save