From 767f06b09f7d1f105a949d6051732c98fdec5224 Mon Sep 17 00:00:00 2001
From: Michael Kirk <michael.code@endoftheworl.de>
Date: Fri, 29 Jun 2018 16:48:43 -0600
Subject: [PATCH] fixup status bar

---
 Signal/Signal-Info.plist                              | 2 +-
 Signal/src/util/MainAppContext.m                      | 5 +++++
 SignalMessaging/utils/UIUtil.m                        | 3 +++
 SignalShareExtension/Info.plist                       | 2 +-
 SignalShareExtension/utils/ShareAppExtensionContext.m | 7 ++++++-
 5 files changed, 16 insertions(+), 3 deletions(-)

diff --git a/Signal/Signal-Info.plist b/Signal/Signal-Info.plist
index 78ed4ca69..623b378a5 100644
--- a/Signal/Signal-Info.plist
+++ b/Signal/Signal-Info.plist
@@ -121,7 +121,7 @@
 		<string>armv7</string>
 	</array>
 	<key>UIStatusBarStyle</key>
-	<string>UIStatusBarStyleDefault</string>
+	<string>UIStatusBarStyleLightContent</string>
 	<key>UISupportedInterfaceOrientations</key>
 	<array>
 		<string>UIInterfaceOrientationPortrait</string>
diff --git a/Signal/src/util/MainAppContext.m b/Signal/src/util/MainAppContext.m
index 9eaa0f440..7fed2dc6b 100644
--- a/Signal/src/util/MainAppContext.m
+++ b/Signal/src/util/MainAppContext.m
@@ -136,6 +136,11 @@ NS_ASSUME_NONNULL_BEGIN
         [[UIApplication sharedApplication] userInterfaceLayoutDirection] == UIUserInterfaceLayoutDirectionRightToLeft;
 }
 
+- (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/utils/UIUtil.m b/SignalMessaging/utils/UIUtil.m
index 3d3f77881..24bb1adcc 100644
--- a/SignalMessaging/utils/UIUtil.m
+++ b/SignalMessaging/utils/UIUtil.m
@@ -32,6 +32,9 @@
     UIToolbar.appearance.tintColor = UIColor.ows_navbarForegroundColor;
 
     UIBarButtonItem.appearance.tintColor = UIColor.ows_navbarForegroundColor;
+    // 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/SignalShareExtension/Info.plist b/SignalShareExtension/Info.plist
index 142034873..2df5fa92c 100644
--- a/SignalShareExtension/Info.plist
+++ b/SignalShareExtension/Info.plist
@@ -81,7 +81,7 @@
 		<string>fontawesome-webfont.ttf</string>
 	</array>
 	<key>UIStatusBarStyle</key>
-	<string>UIStatusBarStyleDefault</string>
+	<string>UIStatusBarStyleLightContent</string>
 	<key>UISupportedInterfaceOrientations</key>
 	<array>
 		<string>UIInterfaceOrientationPortrait</string>
diff --git a/SignalShareExtension/utils/ShareAppExtensionContext.m b/SignalShareExtension/utils/ShareAppExtensionContext.m
index 835616ce7..a35a2d8dd 100644
--- a/SignalShareExtension/utils/ShareAppExtensionContext.m
+++ b/SignalShareExtension/utils/ShareAppExtensionContext.m
@@ -130,9 +130,14 @@ NS_ASSUME_NONNULL_BEGIN
         == NSLocaleLanguageDirectionRightToLeft;
 }
 
+- (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 style since we're in an app extension");
+    DDLogInfo(@"Ignoring request to show/hide status bar since we're in an app extension");
 }
 
 - (CGFloat)statusBarHeight