@@ -17,12 +17,13 @@ class VaultListViewController: ListViewController<VaultCellViewModel> {
1717 weak var coordinator : MainCoordinator ?
1818
1919 private let viewModel : VaultListViewModelProtocol
20- private var observer : NSObjectProtocol ?
20+ private var willEnterForegroundObserver : NSObjectProtocol ?
2121 @Dependency ( \. fullVersionChecker) private var fullVersionChecker
2222 @Dependency ( \. cryptomatorSettings) private var cryptomatorSettings
2323
2424 #if !ALWAYS_PREMIUM
2525 private var bannerView : UIView ?
26+ private var fullVersionPurchasedObserver : NSObjectProtocol ?
2627 #endif
2728
2829 init ( with viewModel: VaultListViewModelProtocol ) {
@@ -49,13 +50,16 @@ class VaultListViewController: ListViewController<VaultCellViewModel> {
4950 let addNewVaulButton = UIBarButtonItem ( barButtonSystemItem: . add, target: self , action: #selector( addNewVault) )
5051 navigationItem. rightBarButtonItem = addNewVaulButton
5152
52- observer = NotificationCenter . default. addObserver ( forName: UIApplication . willEnterForegroundNotification, object: nil , queue: . main) { [ weak self] _ in
53+ willEnterForegroundObserver = NotificationCenter . default. addObserver ( forName: UIApplication . willEnterForegroundNotification, object: nil , queue: . main) { [ weak self] _ in
5354 self ? . viewModel. refreshVaultLockStates ( ) . catch { error in
5455 DDLogError ( " Refresh vault lock states failed with error: \( error) " )
5556 }
5657 }
5758
5859 #if !ALWAYS_PREMIUM
60+ fullVersionPurchasedObserver = NotificationCenter . default. addObserver ( forName: . dismissBannerNotification, object: nil , queue: . main) { [ weak self] _ in
61+ self ? . dismissBanner ( )
62+ }
5963 checkAndShowBanner ( )
6064 #endif
6165 }
@@ -204,3 +208,7 @@ class VaultListViewController: ListViewController<VaultCellViewModel> {
204208 }
205209 #endif
206210}
211+
212+ extension Notification . Name {
213+ static let dismissBannerNotification = Notification . Name ( " DismissBannerNotification " )
214+ }
0 commit comments