diff --git a/AgileWorks/AgileWorks/App/AppShared.swift b/AgileWorks/AgileWorks/App/AppShared.swift index 62c6eaa97ad2d1d7bf87fe451e360c853684c49e..da059542c7c10618ba576d7056d98e82b55df9ae 100644 --- a/AgileWorks/AgileWorks/App/AppShared.swift +++ b/AgileWorks/AgileWorks/App/AppShared.swift @@ -13,6 +13,7 @@ class AppShared { // 次回承認リスト表示時に再表示が必要か。 private var approvalRefreshIsRequired = false private var approvalDetailRefreshIsRequired = false + private var isOnline = true /// 次回の承認リスト (書類一覧も含む) 表示時に更新するよう要求する。 func requstApprovalRefresh() { @@ -35,6 +36,14 @@ class AppShared { approvalDetailRefreshIsRequired = false return request } + // WebView 内でのオンライン状況を設定 + func setOnlineStatus(isOnline: Bool) { + self.isOnline = isOnline + } + // WebView 内でのオンライン状況を取得 + func getOnlineStatus() -> Bool { + return self.isOnline + } } func appVersionLabelText() -> String { diff --git a/AgileWorks/AgileWorks/Main/View/MainTabBarViewController.swift b/AgileWorks/AgileWorks/Main/View/MainTabBarViewController.swift index 5f42dcaea415c2a31c39277cfdc4e5f16e002542..3c6ceb27243d427cc7aa2177d0e85c4e88ce0a4a 100644 --- a/AgileWorks/AgileWorks/Main/View/MainTabBarViewController.swift +++ b/AgileWorks/AgileWorks/Main/View/MainTabBarViewController.swift @@ -88,6 +88,10 @@ extension MainTabBarViewController: UITabBarControllerDelegate { return } } + // オフラインの場合、何もしない + if !AppDelegate.appShared.getOnlineStatus() { + return + } // 選択した TabBarController のリロード if let navi = tabBarController.selectedViewController as? UINavigationController { if let webView = navi.viewControllers[navi.viewControllers.count - 1] as? WebViewController { diff --git a/AgileWorks/AgileWorks/Main/Wireframe/MainTabBarViewWireframe.swift b/AgileWorks/AgileWorks/Main/Wireframe/MainTabBarViewWireframe.swift index f076f63b24307f48c17f49239379c46aa17534c0..ec94f44775378f515729bf5c628c2c4de38baa57 100644 --- a/AgileWorks/AgileWorks/Main/Wireframe/MainTabBarViewWireframe.swift +++ b/AgileWorks/AgileWorks/Main/Wireframe/MainTabBarViewWireframe.swift @@ -57,7 +57,6 @@ extension MainTabBarViewWireframeImpl: MainTabBarViewWireframe { if alertCheck() { return } - let modalWebVC = WebViewBuilderImpl().buildVC() // URL , タイトル設定 modalWebVC.loadURL = notificationData.url diff --git a/AgileWorks/AgileWorks/WebView/View/WebViewController.swift b/AgileWorks/AgileWorks/WebView/View/WebViewController.swift index 2fcb8dd98ec858c2a881f9cde19e245d0e5b0532..333e32e3aaf77e0e776412495b75357c0ce5bf35 100644 --- a/AgileWorks/AgileWorks/WebView/View/WebViewController.swift +++ b/AgileWorks/AgileWorks/WebView/View/WebViewController.swift @@ -176,6 +176,9 @@ class WebViewController: UIViewController { // token チェック func updateSession(isInit: Bool) { print("updteSession") + if !AppDelegate.appShared.getOnlineStatus() { + return + } let sessionEndpoint = GetSessionEndpoint() Session.send(sessionEndpoint) { result in @@ -251,6 +254,7 @@ class WebViewController: UIViewController { DispatchQueue.main.async { self.disablingView.isHidden = true } + AppDelegate.appShared.setOnlineStatus(isOnline: true) // ネットワーク非接続時 } else { // 書類表示時 @@ -261,6 +265,8 @@ class WebViewController: UIViewController { self.checkConnectButton.isEnabled = true } } + AppDelegate.appShared.setOnlineStatus(isOnline: false) + self.initLoadComp = false } } // モニタリングスタート @@ -324,11 +330,13 @@ class WebViewController: UIViewController { self.checkConnectButton.isEnabled = false // ネットワーク接続チェック if isOnline() { + AppDelegate.appShared.setOnlineStatus(isOnline: true) // オフラインView非表示 DispatchQueue.main.async { self.disablingView.isHidden = true } } else { + AppDelegate.appShared.setOnlineStatus(isOnline: false) // 接続確認ボタン活性 self.checkConnectButton.isEnabled = true } @@ -346,6 +354,7 @@ class WebViewController: UIViewController { viewReload = true } else if !initLoadComp { viewReload = true + initLoadComp = true } } else { viewReload = true