Преглед изворни кода

update whiteboard and add APIS openSeminar

alqindiirsyam пре 2 година
родитељ
комит
1aaac76d1d

+ 8 - 0
appbuilder-ios/NexilisLite/NexilisLite.xcodeproj/project.pbxproj

@@ -187,6 +187,8 @@
 		CD46A0BB2A0CE320009E4C87 /* sticker_10000000_8.png in Resources */ = {isa = PBXBuildFile; fileRef = CD46A0162A0CE2DE009E4C87 /* sticker_10000000_8.png */; };
 		CD46A0BF2A0CE4FD009E4C87 /* NexilisLite.podspec in Resources */ = {isa = PBXBuildFile; fileRef = CD46A0BE2A0CE4FD009E4C87 /* NexilisLite.podspec */; };
 		CD46A0C52A0D0D5D009E4C87 /* MyArchive.swift in Sources */ = {isa = PBXBuildFile; fileRef = CD46A0C42A0D0D5D009E4C87 /* MyArchive.swift */; };
+		CDDF46752A2DD81300049A19 /* CreateSeminarViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = CDDF46732A2DD81300049A19 /* CreateSeminarViewController.swift */; };
+		CDDF46762A2DD81300049A19 /* SeminarViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = CDDF46742A2DD81300049A19 /* SeminarViewController.swift */; };
 		E041D3F3664E6832F1C7D472 /* Pods_NexilisLite_NexilisLiteTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 29B82D1BED77BA49C75DE10C /* Pods_NexilisLite_NexilisLiteTests.framework */; };
 /* End PBXBuildFile section */
 
@@ -417,6 +419,8 @@
 		CD46A01A2A0CE2DE009E4C87 /* Palio.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = Palio.storyboard; sourceTree = "<group>"; };
 		CD46A0BE2A0CE4FD009E4C87 /* NexilisLite.podspec */ = {isa = PBXFileReference; lastKnownFileType = text; path = NexilisLite.podspec; sourceTree = SOURCE_ROOT; xcLanguageSpecificationIdentifier = xcode.lang.ruby; };
 		CD46A0C42A0D0D5D009E4C87 /* MyArchive.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MyArchive.swift; sourceTree = "<group>"; };
+		CDDF46732A2DD81300049A19 /* CreateSeminarViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CreateSeminarViewController.swift; sourceTree = "<group>"; };
+		CDDF46742A2DD81300049A19 /* SeminarViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SeminarViewController.swift; sourceTree = "<group>"; };
 /* End PBXFileReference section */
 
 /* Begin PBXFrameworksBuildPhase section */
@@ -617,6 +621,8 @@
 		CD1E71752A0BA86100BF871F /* Streaming */ = {
 			isa = PBXGroup;
 			children = (
+				CDDF46732A2DD81300049A19 /* CreateSeminarViewController.swift */,
+				CDDF46742A2DD81300049A19 /* SeminarViewController.swift */,
 				CD1E71762A0BA86100BF871F /* QmeraGroupChooserViewController.swift */,
 				CD1E71772A0BA86100BF871F /* QmeraStreamingViewController.swift */,
 				CD1E71782A0BA86100BF871F /* CreateViewController.swift */,
@@ -1077,6 +1083,7 @@
 				CD1E72522A0BA86100BF871F /* ImageVideoPicker.swift in Sources */,
 				CD1E72512A0BA86100BF871F /* MessageInfo.swift in Sources */,
 				CD1E724E2A0BA86100BF871F /* VerifyEmail.swift in Sources */,
+				CDDF46762A2DD81300049A19 /* SeminarViewController.swift in Sources */,
 				CD1E721A2A0BA86100BF871F /* NotifSound.swift in Sources */,
 				CD1E724F2A0BA86100BF871F /* SetInternalCSAccount.swift in Sources */,
 				CD1E721C2A0BA86100BF871F /* ContactCallViewController.swift in Sources */,
@@ -1127,6 +1134,7 @@
 				CD1E72342A0BA86100BF871F /* QmeraVideoViewController.swift in Sources */,
 				CD1E721D2A0BA86100BF871F /* WorkingAreaPicker.swift in Sources */,
 				CD1E72122A0BA86100BF871F /* CoreMessage_TMessageKey.swift in Sources */,
+				CDDF46752A2DD81300049A19 /* CreateSeminarViewController.swift in Sources */,
 				CD1E722D2A0BA86100BF871F /* QmeraAudioConference.swift in Sources */,
 				CD1E72432A0BA86100BF871F /* DocumentPicker.swift in Sources */,
 				CD1E72352A0BA86100BF871F /* VideoViewController.swift in Sources */,

+ 6 - 0
appbuilder-ios/NexilisLite/NexilisLite/Resource/id.lproj/Localizable.strings

@@ -297,3 +297,9 @@
 "Seminar description can't be empty" = "Deskripsi Seminar tidak boleh kosong";
 "Live Streaming title can't be empty" = "Judul Siaran Langsung tidak boleh kosong";
 "Live Streaming description can't be empty" = "Deskripsi Siaran Langsung tidak boleh kosong";
+"Start Whiteboard" = "Mulai Whiteboard";
+"Waiting for answer" = "Menunggu Jawaban";
+"Incoming Whiteboard" = "Masuk Whiteboard";
+"End Whiteboard Session" = "Akhiri Sesi Whiteboard";
+"Are you sure you want to end whiteboard session?" = "Apakah anda ingin mengakhiri sesi whiteboard?";
+"WhiteBoard session is over" = "Sesi whiteBoard telah berakhir";

+ 15 - 0
appbuilder-ios/NexilisLite/NexilisLite/Source/APIS.swift

@@ -150,6 +150,21 @@ public class APIS: NSObject {
         }
     }
     
+    public static func openSeminar() {
+        let isChangeProfile = Utils.getSetProfile()
+        if !isChangeProfile {
+            APIS.showChangeProfile()
+            return
+        }
+        let navigationController = UINavigationController(rootViewController: CreateSeminarViewController())
+        navigationController.defaultStyle()
+        if UIApplication.shared.visibleViewController?.navigationController != nil {
+            UIApplication.shared.visibleViewController?.navigationController?.present(navigationController, animated: true, completion: nil)
+        } else {
+            UIApplication.shared.visibleViewController?.present(navigationController, animated: true, completion: nil)
+        }
+    }
+    
     public static func openAudioCall() {
         let isChangeProfile = Utils.getSetProfile()
         if !isChangeProfile {

+ 13 - 0
appbuilder-ios/NexilisLite/NexilisLite/Source/View/Call/WhiteboardViewController.swift

@@ -253,6 +253,19 @@ class WhiteboardViewController: UIViewController, WhiteboardDelegate {
                     if self.buttonDecline.isDescendant(of: self.view) {
                         self.buttonDecline.removeFromSuperview()
                     }
+                    if !self.buttonDecline.isDescendant(of: self.view) {
+                        let conainerEnd = UIView()
+                        view.addSubview(conainerEnd)
+                        conainerEnd.anchor(top: view.topAnchor, left: view.leftAnchor, bottom: view.bottomAnchor, right: view.rightAnchor)
+                        conainerEnd.backgroundColor = .white
+                        
+                        let labelEnd = UILabel()
+                        conainerEnd.addSubview(labelEnd)
+                        labelEnd.anchor(centerX: conainerEnd.centerXAnchor, centerY: conainerEnd.centerYAnchor)
+                        labelEnd.font = .systemFont(ofSize: 25)
+                        labelEnd.textColor = .mainColor
+                        labelEnd.text = "WhiteBoard session is over".localized()
+                    }
                     DispatchQueue.main.asyncAfter(deadline: .now() + 1) {
                         self.dismiss(animated: true, completion: nil)
                     }