فهرست منبع

update Secure browser and info.plist

alqindiirsyam 5 ماه پیش
والد
کامیت
51b13a10f1

+ 0 - 2
AppBuilder/AppBuilder/Info.plist

@@ -171,8 +171,6 @@
 	<key>UIBackgroundModes</key>
 	<array>
 		<string>audio</string>
-		<string>bluetooth-central</string>
-		<string>bluetooth-peripheral</string>
 		<string>fetch</string>
 		<string>processing</string>
 		<string>remote-notification</string>

+ 4 - 2
NexilisLite/NexilisLite/Source/APIS.swift

@@ -435,10 +435,12 @@ public class APIS: NSObject {
         }
         let controller = BNIBookingWebView()
         controller.isSecureBrowser = true
+        let navigationController = CustomNavigationController(rootViewController: controller)
+        navigationController.defaultStyle()
         if UIApplication.shared.visibleViewController?.navigationController != nil {
-            UIApplication.shared.visibleViewController?.navigationController?.present(controller, animated: true, completion: nil)
+            UIApplication.shared.visibleViewController?.navigationController?.present(navigationController, animated: true, completion: nil)
         } else {
-            UIApplication.shared.visibleViewController?.present(controller, animated: true, completion: nil)
+            UIApplication.shared.visibleViewController?.present(navigationController, animated: true, completion: nil)
         }
     }
     

+ 15 - 16
NexilisLite/NexilisLite/Source/Nexilis.swift

@@ -3840,22 +3840,6 @@ extension Nexilis: MessageDelegate {
                         return
                     }
                     
-                    if UIApplication.shared.visibleViewController is UINavigationController {
-                        let nc = UIApplication.shared.visibleViewController as! UINavigationController
-                        if nc.visibleViewController is QmeraStreamingViewController {
-                            return
-                        } else if nc.visibleViewController is SeminarViewController {
-                            return
-                        }
-                        if let navigationC = UIApplication.shared.visibleViewController as? UINavigationController {
-                            if navigationC.viewControllers[navigationC.viewControllers.count - 1] is EditorPersonal || navigationC.viewControllers[navigationC.viewControllers.count - 1] is EditorGroup {
-                                navigationC.popViewController(animated: true)
-                            }
-                        }
-                    } else if UIApplication.shared.visibleViewController is UIAlertController {
-                        return
-                    }
-                    
                     displayNotif()
                     
                     func displayNotif() {
@@ -4088,6 +4072,21 @@ extension Nexilis: MessageDelegate {
                         }
                     }
                     func showNotif() {
+                        if UIApplication.shared.visibleViewController is UINavigationController {
+                            let nc = UIApplication.shared.visibleViewController as! UINavigationController
+                            if nc.visibleViewController is QmeraStreamingViewController {
+                                return
+                            } else if nc.visibleViewController is SeminarViewController {
+                                return
+                            }
+                            if let navigationC = UIApplication.shared.visibleViewController as? UINavigationController {
+                                if navigationC.viewControllers[navigationC.viewControllers.count - 1] is EditorPersonal || navigationC.viewControllers[navigationC.viewControllers.count - 1] is EditorGroup {
+                                    navigationC.popViewController(animated: true)
+                                }
+                            }
+                        } else if UIApplication.shared.visibleViewController is UIAlertController {
+                            return
+                        }
                         if message.getBody(key: attachmentFlag) == "59" {
                             let date = Date(milliseconds: Int64(message.getBody(key: CoreMessage_TMessageKey.LOCAL_TIMESTAMP))!)
                             let formatter = DateFormatter()

+ 22 - 0
NexilisLite/NexilisLite/Source/View/BNIView/BNIBookingWebView.swift

@@ -40,6 +40,19 @@ public class BNIBookingWebView: UIViewController, WKNavigationDelegate, UIScroll
     public override func viewDidLoad() {
         super.viewDidLoad()
         
+        title = "Secure Browser".localized()
+        
+        let attributes = [NSAttributedString.Key.foregroundColor: UIColor.white]
+        let navBarAppearance = UINavigationBarAppearance()
+        navBarAppearance.configureWithOpaqueBackground()
+        navBarAppearance.backgroundColor = self.traitCollection.userInterfaceStyle == .dark ? .blackDarkMode : UIColor.mainColor
+        navBarAppearance.titleTextAttributes = attributes
+        navigationController?.navigationBar.standardAppearance = navBarAppearance
+        navigationController?.navigationBar.scrollEdgeAppearance = navBarAppearance
+        
+        let backButton = UIBarButtonItem(image: UIImage(systemName: "chevron.backward"), style: .plain, target: self, action: #selector(self.didTapExit))
+        self.navigationItem.leftBarButtonItem = backButton
+        
         let configuration = WKWebViewConfiguration()
         configuration.allowsInlineMediaPlayback = true
         loadContentBlocker(into: configuration) { [self] in
@@ -49,6 +62,10 @@ public class BNIBookingWebView: UIViewController, WKNavigationDelegate, UIScroll
         }
     }
     
+    @objc func didTapExit(sender: Any) {
+        self.dismiss(animated: true, completion: nil)
+    }
+    
     func initializeWebView(with configuration: WKWebViewConfiguration) {
         let customUserAgent = "Mozilla/5.0 (iPhone; CPU iPhone OS 16_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.5 Mobile/15E148 Safari/604.1 \(Utils.getUserAgent())"
         let finalUserAgent = "\(customUserAgent)"
@@ -167,6 +184,10 @@ public class BNIBookingWebView: UIViewController, WKNavigationDelegate, UIScroll
         if let url = URL(string: "\(stringQMS)") {
             if !isSecureBrowser {
                 loadURLWithCookie(url: url)
+            } else {
+                if let url = URL(string: "https://google.com/") {
+                    loadURLWithCookie(url: url)
+                }
             }
         }
     }
@@ -249,6 +270,7 @@ public class BNIBookingWebView: UIViewController, WKNavigationDelegate, UIScroll
             for cookie in cookies {
                 webView.configuration.websiteDataStore.httpCookieStore.setCookie(cookie)
             }
+            textField.text = url.absoluteString
             webView.load(urlRequest)
         }
     }