diff --git a/SignalMessaging/ViewControllers/OWSNavigationController.m b/SignalMessaging/ViewControllers/OWSNavigationController.m index e1ebb9ebb..dc35156fd 100644 --- a/SignalMessaging/ViewControllers/OWSNavigationController.m +++ b/SignalMessaging/ViewControllers/OWSNavigationController.m @@ -150,7 +150,9 @@ NS_ASSUME_NONNULL_BEGIN - (UIStatusBarStyle)preferredStatusBarStyle { - if (OWSWindowManager.sharedManager.hasCall) { + if (!CurrentAppContext().isMainApp) { + return super.preferredStatusBarStyle; + } else if (OWSWindowManager.sharedManager.hasCall) { // Status bar is overlaying the green "call banner" return UIStatusBarStyleLightContent; } else { @@ -165,7 +167,9 @@ NS_ASSUME_NONNULL_BEGIN [UIView setAnimationsEnabled:NO]; if (@available(iOS 11.0, *)) { - if (OWSWindowManager.sharedManager.hasCall) { + if (!CurrentAppContext().isMainApp) { + self.additionalSafeAreaInsets = UIEdgeInsetsZero; + } else if (OWSWindowManager.sharedManager.hasCall) { self.additionalSafeAreaInsets = UIEdgeInsetsMake(20, 0, 0, 0); } else { self.additionalSafeAreaInsets = UIEdgeInsetsZero; diff --git a/SignalMessaging/Views/OWSNavigationBar.swift b/SignalMessaging/Views/OWSNavigationBar.swift index deae451a0..8e76b568e 100644 --- a/SignalMessaging/Views/OWSNavigationBar.swift +++ b/SignalMessaging/Views/OWSNavigationBar.swift @@ -144,9 +144,11 @@ public class OWSNavigationBar: UINavigationBar { } public override func layoutSubviews() { - guard OWSWindowManager.shared().hasCall() else { - super.layoutSubviews() - return + if CurrentAppContext().isMainApp { + guard OWSWindowManager.shared().hasCall() else { + super.layoutSubviews() + return + } } guard #available(iOS 11, *) else { diff --git a/SignalServiceKit/src/Messages/OWSMessageManager.m b/SignalServiceKit/src/Messages/OWSMessageManager.m index e51184ecd..79b4a1e04 100644 --- a/SignalServiceKit/src/Messages/OWSMessageManager.m +++ b/SignalServiceKit/src/Messages/OWSMessageManager.m @@ -86,7 +86,6 @@ NS_ASSUME_NONNULL_BEGIN _incomingMessageFinder = [[OWSIncomingMessageFinder alloc] initWithPrimaryStorage:primaryStorage]; OWSSingletonAssert(); - OWSAssertDebug(CurrentAppContext().isMainApp); return self; } diff --git a/SignalShareExtension/ShareViewController.swift b/SignalShareExtension/ShareViewController.swift index 946133374..199a8a583 100644 --- a/SignalShareExtension/ShareViewController.swift +++ b/SignalShareExtension/ShareViewController.swift @@ -26,7 +26,7 @@ public class ShareViewController: UIViewController, ShareViewDelegate, SAEFailed private var progressPoller: ProgressPoller? var loadViewController: SAELoadViewController? - let shareViewNavigationController: OWSNavigationController = OWSNavigationController() + private var shareViewNavigationController: OWSNavigationController? override open func loadView() { super.loadView() @@ -70,6 +70,9 @@ public class ShareViewController: UIViewController, ShareViewDelegate, SAEFailed return } + let shareViewNavigationController = OWSNavigationController() + self.shareViewNavigationController = shareViewNavigationController + let loadViewController = SAELoadViewController(delegate: self) self.loadViewController = loadViewController @@ -452,6 +455,10 @@ public class ShareViewController: UIViewController, ShareViewDelegate, SAEFailed // If user is registered, do nothing. return } + guard let shareViewNavigationController = shareViewNavigationController else { + owsFailDebug("Missing shareViewNavigationController") + return + } guard let firstViewController = shareViewNavigationController.viewControllers.first else { // If no view has been presented yet, do nothing. return @@ -513,6 +520,10 @@ public class ShareViewController: UIViewController, ShareViewDelegate, SAEFailed private func showPrimaryViewController(_ viewController: UIViewController) { AssertIsOnMainThread() + guard let shareViewNavigationController = shareViewNavigationController else { + owsFailDebug("Missing shareViewNavigationController") + return + } shareViewNavigationController.setViewControllers([viewController], animated: false) if self.presentedViewController == nil { Logger.debug("presenting modally: \(viewController)")