From 28abf426f14f2653c8ee27869c80547a6ade2f27 Mon Sep 17 00:00:00 2001 From: Michael Kirk Date: Tue, 10 Jul 2018 10:49:55 -0600 Subject: [PATCH] White status bar for call screen Transition to VC controlled status bar style. --- Signal/Signal-Info.plist | 2 +- Signal/src/ViewControllers/CallViewController.swift | 4 ++++ Signal/src/util/MainAppContext.m | 5 ----- .../ViewControllers/OWSNavigationController.m | 12 +++++++++++- SignalMessaging/utils/UIUtil.m | 3 --- SignalServiceKit/src/Util/AppContext.h | 1 - .../utils/ShareAppExtensionContext.m | 5 ----- 7 files changed, 16 insertions(+), 16 deletions(-) diff --git a/Signal/Signal-Info.plist b/Signal/Signal-Info.plist index 279b30540..53fd9f5e7 100644 --- a/Signal/Signal-Info.plist +++ b/Signal/Signal-Info.plist @@ -127,6 +127,6 @@ UIInterfaceOrientationPortrait UIViewControllerBasedStatusBarAppearance - + diff --git a/Signal/src/ViewControllers/CallViewController.swift b/Signal/src/ViewControllers/CallViewController.swift index 7c4b70a45..b64b9786f 100644 --- a/Signal/src/ViewControllers/CallViewController.swift +++ b/Signal/src/ViewControllers/CallViewController.swift @@ -85,6 +85,10 @@ class CallViewController: OWSViewController, CallObserver, CallServiceObserver, } } + override var preferredStatusBarStyle: UIStatusBarStyle { + return .lightContent + } + // MARK: - Settings Nag Views var isShowingSettingsNag = false { diff --git a/Signal/src/util/MainAppContext.m b/Signal/src/util/MainAppContext.m index 8efd8f70f..dffe0aa76 100644 --- a/Signal/src/util/MainAppContext.m +++ b/Signal/src/util/MainAppContext.m @@ -141,11 +141,6 @@ NS_ASSUME_NONNULL_BEGIN return isRTL; } -- (void)setStatusBarStyle:(UIStatusBarStyle)statusBarStyle -{ - [[UIApplication sharedApplication] setStatusBarStyle:statusBarStyle]; -} - - (void)setStatusBarHidden:(BOOL)isHidden animated:(BOOL)isAnimated { [[UIApplication sharedApplication] setStatusBarHidden:isHidden animated:isAnimated]; diff --git a/SignalMessaging/ViewControllers/OWSNavigationController.m b/SignalMessaging/ViewControllers/OWSNavigationController.m index 30cbb3f4c..7f3fe0d28 100644 --- a/SignalMessaging/ViewControllers/OWSNavigationController.m +++ b/SignalMessaging/ViewControllers/OWSNavigationController.m @@ -107,12 +107,22 @@ NS_ASSUME_NONNULL_BEGIN } } - #pragma mark - NavBarLayoutDelegate - (void)navBarCallLayoutDidChangeWithNavbar:(OWSNavigationBar *)navbar { [self updateLayoutForNavbar:navbar]; + [self setNeedsStatusBarAppearanceUpdate]; +} + +- (UIStatusBarStyle)preferredStatusBarStyle +{ + if (OWSWindowManager.sharedManager.hasCall) { + // Status bar is overlaying the green "call banner" + return UIStatusBarStyleLightContent; + } else { + return super.preferredStatusBarStyle; + } } - (void)updateLayoutForNavbar:(OWSNavigationBar *)navbar diff --git a/SignalMessaging/utils/UIUtil.m b/SignalMessaging/utils/UIUtil.m index 57465ea87..f49452e30 100644 --- a/SignalMessaging/utils/UIUtil.m +++ b/SignalMessaging/utils/UIUtil.m @@ -32,9 +32,6 @@ UIToolbar.appearance.tintColor = UIColor.ows_navbarIconColor; UIBarButtonItem.appearance.tintColor = UIColor.ows_navbarIconColor; - // Because our launch screen is blue, we specify the light content in our plist - // but once the app has loaded we want to switch to dark. - [CurrentAppContext() setStatusBarStyle:UIStatusBarStyleDefault]; // [[UIBarButtonItem appearanceWhenContainedIn:[UISearchBar class], nil] setTintColor:[UIColor // ows_materialBlueColor]]; diff --git a/SignalServiceKit/src/Util/AppContext.h b/SignalServiceKit/src/Util/AppContext.h index 1df5cb8ec..8b2801491 100755 --- a/SignalServiceKit/src/Util/AppContext.h +++ b/SignalServiceKit/src/Util/AppContext.h @@ -74,7 +74,6 @@ NSString *NSStringForUIApplicationState(UIApplicationState value); // Should only be called if isMainApp is YES. - (void)setMainAppBadgeNumber:(NSInteger)value; -- (void)setStatusBarStyle:(UIStatusBarStyle)statusBarStyle; - (void)setStatusBarHidden:(BOOL)isHidden animated:(BOOL)isAnimated; @property (nonatomic, readonly) CGFloat statusBarHeight; diff --git a/SignalShareExtension/utils/ShareAppExtensionContext.m b/SignalShareExtension/utils/ShareAppExtensionContext.m index 1a24cec78..99d286204 100644 --- a/SignalShareExtension/utils/ShareAppExtensionContext.m +++ b/SignalShareExtension/utils/ShareAppExtensionContext.m @@ -135,11 +135,6 @@ NS_ASSUME_NONNULL_BEGIN return isRTL; } -- (void)setStatusBarStyle:(UIStatusBarStyle)statusBarStyle -{ - DDLogInfo(@"Ignoring request to set status bar style since we're in an app extension"); -} - - (void)setStatusBarHidden:(BOOL)isHidden animated:(BOOL)isAnimated { DDLogInfo(@"Ignoring request to show/hide status bar since we're in an app extension");