diff options
Diffstat (limited to 'ios')
| -rw-r--r-- | ios/MullvadVPN/Containers/Root/RootContainerViewController.swift | 22 | ||||
| -rw-r--r-- | ios/MullvadVPN/View controllers/ChangeLog/ChangeLogViewController.swift | 4 |
2 files changed, 26 insertions, 0 deletions
diff --git a/ios/MullvadVPN/Containers/Root/RootContainerViewController.swift b/ios/MullvadVPN/Containers/Root/RootContainerViewController.swift index 93655e624d..c1369118cb 100644 --- a/ios/MullvadVPN/Containers/Root/RootContainerViewController.swift +++ b/ios/MullvadVPN/Containers/Root/RootContainerViewController.swift @@ -41,6 +41,15 @@ protocol RootContainment { /// Return true if the view controller prefers header bar hidden var prefersHeaderBarHidden: Bool { get } + + /// Return true if the view controller prefers notification bar hidden + var prefersNotificationBarHidden: Bool { get } +} + +extension RootContainment { + var prefersNotificationBarHidden: Bool { + false + } } protocol RootContainerViewControllerDelegate: AnyObject { @@ -81,6 +90,16 @@ class RootContainerViewController: UIViewController { private var appearingController: UIViewController? private var disappearingController: UIViewController? private var interfaceOrientationMask: UIInterfaceOrientationMask? + private var isNavigationBarHidden = false { + didSet { + guard let notificationController else { + return + } + isNavigationBarHidden + ? removeNotificationController(notificationController) + : addNotificationController(notificationController) + } + } var topViewController: UIViewController? { viewControllers.last @@ -451,6 +470,9 @@ class RootContainerViewController: UIViewController { let viewControllersToAdd = newViewControllers.filter { !viewControllers.contains($0) } let viewControllersToRemove = viewControllers.filter { !newViewControllers.contains($0) } + // hide in-App notificationBanner when the container decides to keep it invisible + isNavigationBarHidden = (targetViewController as? RootContainment)?.prefersNotificationBarHidden ?? false + let finishTransition = { /* Finish transition appearance. diff --git a/ios/MullvadVPN/View controllers/ChangeLog/ChangeLogViewController.swift b/ios/MullvadVPN/View controllers/ChangeLog/ChangeLogViewController.swift index 044e1cb851..6bea0b3f37 100644 --- a/ios/MullvadVPN/View controllers/ChangeLog/ChangeLogViewController.swift +++ b/ios/MullvadVPN/View controllers/ChangeLog/ChangeLogViewController.swift @@ -19,6 +19,10 @@ class ChangeLogViewController: UIViewController, RootContainment { false } + var prefersNotificationBarHidden: Bool { + true + } + // MARK: - Public var onFinish: (() -> Void)? |
