summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorMojgan <Mojgan.jelodar@codic.se>2023-06-27 14:28:09 +0200
committerEmīls <emils@mullvad.net>2023-07-10 12:15:51 +0200
commit9ace45e7ccf4aa5879609ccdfada5ff67f5ca94e (patch)
tree5cce96e854b202c7e67e0582a6fea0e54df5a600
parentade872e6a288411158e2112a6d3d5af2506501f2 (diff)
downloadmullvadvpn-9ace45e7ccf4aa5879609ccdfada5ff67f5ca94e.tar.xz
mullvadvpn-9ace45e7ccf4aa5879609ccdfada5ff67f5ca94e.zip
Hide notification bar at change log
-rw-r--r--ios/MullvadVPN/Containers/Root/RootContainerViewController.swift22
-rw-r--r--ios/MullvadVPN/View controllers/ChangeLog/ChangeLogViewController.swift4
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)?