From aa8a78219471f3389bfe14c1b4caf1ff166b5edd Mon Sep 17 00:00:00 2001 From: Nora Trapp Date: Tue, 3 Mar 2020 17:25:35 -0800 Subject: [PATCH] Update launch screen to use new logo and have dark mode variant --- .../logoSignal.imageset/logoSignal.pdf | Bin 10631 -> 0 bytes .../Contents.json | 22 ++++++++++ .../signal-logo-white-alpha-90.pdf | Bin 0 -> 7171 bytes .../signal-logo-white.pdf | Bin 0 -> 5357 bytes .../Contents.json | 0 .../signal-logo-128.imageset/logoSignal.pdf | Bin 0 -> 5357 bytes .../Contents.json | 22 ++++++++++ .../ultramarine-bd-dark.pdf | Bin 0 -> 3788 bytes .../ultramarine-bd.pdf | Bin 0 -> 3787 bytes .../ConversationSplitViewController.swift | 2 +- .../LoadingViewController.swift | 7 +-- .../CallKit/CallKitCallUIAdaptee.swift | 2 +- Signal/src/util/Launch Screen.storyboard | 40 +++++++++++------- Signal/src/util/OWSScreenLockUI.m | 4 +- .../ScreenLockViewController.m | 7 +-- SignalMessaging/appearance/Theme+OWS.swift | 7 +++ SignalMessaging/appearance/Theme.m | 2 +- SignalMessaging/categories/UIColor+OWS.swift | 9 +++- SignalMessaging/utils/OWSWindowManager.m | 7 ++- .../SAEFailedViewController.swift | 6 +-- .../SAELoadViewController.swift | 4 +- .../SAEScreenLockViewController.m | 5 ++- 22 files changed, 106 insertions(+), 40 deletions(-) delete mode 100644 Signal/Images.xcassets/logoSignal.imageset/logoSignal.pdf create mode 100644 Signal/Images.xcassets/signal-logo-128-launch-screen.imageset/Contents.json create mode 100644 Signal/Images.xcassets/signal-logo-128-launch-screen.imageset/signal-logo-white-alpha-90.pdf create mode 100644 Signal/Images.xcassets/signal-logo-128-launch-screen.imageset/signal-logo-white.pdf rename Signal/Images.xcassets/{logoSignal.imageset => signal-logo-128.imageset}/Contents.json (100%) create mode 100644 Signal/Images.xcassets/signal-logo-128.imageset/logoSignal.pdf create mode 100644 Signal/Images.xcassets/ultramarine-launch-screen.imageset/Contents.json create mode 100644 Signal/Images.xcassets/ultramarine-launch-screen.imageset/ultramarine-bd-dark.pdf create mode 100644 Signal/Images.xcassets/ultramarine-launch-screen.imageset/ultramarine-bd.pdf diff --git a/Signal/Images.xcassets/logoSignal.imageset/logoSignal.pdf b/Signal/Images.xcassets/logoSignal.imageset/logoSignal.pdf deleted file mode 100644 index 0c9d67173db44b056730ac1a90568b00d2f451cc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10631 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 diff --git a/Signal/Images.xcassets/signal-logo-128-launch-screen.imageset/Contents.json b/Signal/Images.xcassets/signal-logo-128-launch-screen.imageset/Contents.json new file mode 100644 index 0000000000..2cc1236570 --- /dev/null +++ b/Signal/Images.xcassets/signal-logo-128-launch-screen.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "filename" : "signal-logo-white.pdf" + }, + { + "idiom" : "universal", + "filename" : "signal-logo-white-alpha-90.pdf", + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ] + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Signal/Images.xcassets/signal-logo-128-launch-screen.imageset/signal-logo-white-alpha-90.pdf b/Signal/Images.xcassets/signal-logo-128-launch-screen.imageset/signal-logo-white-alpha-90.pdf new file mode 100644 index 0000000000000000000000000000000000000000..746e8de40f0496083bac08ac165cc981e20d20c3 GIT binary patch literal 7171 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 OA!1bA+)A3tRR04APG}qe literal 0 HcmV?d00001 diff --git a/Signal/Images.xcassets/signal-logo-128-launch-screen.imageset/signal-logo-white.pdf b/Signal/Images.xcassets/signal-logo-128-launch-screen.imageset/signal-logo-white.pdf new file mode 100644 index 0000000000000000000000000000000000000000..d1db4024c22400a9491ff95f1027ad63aa4066ac GIT binary patch literal 5357 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 literal 0 HcmV?d00001 diff --git a/Signal/src/ViewControllers/HomeView/ConversationSplitViewController.swift b/Signal/src/ViewControllers/HomeView/ConversationSplitViewController.swift index 479e91536f..760cfe2609 100644 --- a/Signal/src/ViewControllers/HomeView/ConversationSplitViewController.swift +++ b/Signal/src/ViewControllers/HomeView/ConversationSplitViewController.swift @@ -561,7 +561,7 @@ private class NoSelectedConversationViewController: OWSViewController { view = UIView() let logoContainer = UIView.container() - logoImageView.image = #imageLiteral(resourceName: "logoSignal").withRenderingMode(.alwaysTemplate) + logoImageView.image = #imageLiteral(resourceName: "signal-logo-128").withRenderingMode(.alwaysTemplate) logoImageView.contentMode = .scaleAspectFit logoContainer.addSubview(logoImageView) logoImageView.autoPinTopToSuperviewMargin() diff --git a/Signal/src/ViewControllers/LoadingViewController.swift b/Signal/src/ViewControllers/LoadingViewController.swift index 50071d11e2..68bb91ad3f 100644 --- a/Signal/src/ViewControllers/LoadingViewController.swift +++ b/Signal/src/ViewControllers/LoadingViewController.swift @@ -1,5 +1,5 @@ // -// Copyright (c) 2019 Open Whisper Systems. All rights reserved. +// Copyright (c) 2020 Open Whisper Systems. All rights reserved. // import Foundation @@ -19,12 +19,13 @@ public class LoadingViewController: UIViewController { override public func loadView() { self.view = UIView() - view.backgroundColor = UIColor.ows_signalBlue + view.backgroundColor = Theme.launchScreenBackground - self.logoView = UIImageView(image: #imageLiteral(resourceName: "logoSignal")) + self.logoView = UIImageView(image: #imageLiteral(resourceName: "signal-logo-128-launch-screen")) view.addSubview(logoView) logoView.autoCenterInSuperview() + logoView.autoSetDimensions(to: CGSize(square: 128)) self.topLabel = buildLabel() topLabel.alpha = 0 diff --git a/Signal/src/call/UserInterface/CallKit/CallKitCallUIAdaptee.swift b/Signal/src/call/UserInterface/CallKit/CallKitCallUIAdaptee.swift index 463bc8f1fb..04c34159d2 100644 --- a/Signal/src/call/UserInterface/CallKit/CallKitCallUIAdaptee.swift +++ b/Signal/src/call/UserInterface/CallKit/CallKitCallUIAdaptee.swift @@ -80,7 +80,7 @@ final class CallKitCallUIAdaptee: NSObject, CallUIAdaptee, CXProviderDelegate { providerConfiguration.supportedHandleTypes = [.phoneNumber, .generic] - let iconMaskImage = #imageLiteral(resourceName: "logoSignal") + let iconMaskImage = #imageLiteral(resourceName: "signal-logo-128") providerConfiguration.iconTemplateImageData = iconMaskImage.pngData() // We don't set the ringtoneSound property, so that we use either the diff --git a/Signal/src/util/Launch Screen.storyboard b/Signal/src/util/Launch Screen.storyboard index 50ead918fd..c5e80b66da 100644 --- a/Signal/src/util/Launch Screen.storyboard +++ b/Signal/src/util/Launch Screen.storyboard @@ -1,13 +1,9 @@ - - - - - + + + - - - + @@ -20,26 +16,38 @@ - + - - + + + + + + + + + - + - - + + + + + + - + - + + diff --git a/Signal/src/util/OWSScreenLockUI.m b/Signal/src/util/OWSScreenLockUI.m index ebbd796dba..f96338caa4 100644 --- a/Signal/src/util/OWSScreenLockUI.m +++ b/Signal/src/util/OWSScreenLockUI.m @@ -1,5 +1,5 @@ // -// Copyright (c) 2019 Open Whisper Systems. All rights reserved. +// Copyright (c) 2020 Open Whisper Systems. All rights reserved. // #import "OWSScreenLockUI.h" @@ -385,7 +385,7 @@ NS_ASSUME_NONNULL_BEGIN window.hidden = NO; window.windowLevel = UIWindowLevel_Background; window.opaque = YES; - window.backgroundColor = UIColor.ows_signalBlueColor; + window.backgroundColor = Theme.launchScreenBackgroundColor; ScreenLockViewController *viewController = [ScreenLockViewController new]; viewController.delegate = self; diff --git a/SignalMessaging/ViewControllers/ScreenLockViewController.m b/SignalMessaging/ViewControllers/ScreenLockViewController.m index 687a2fe338..18ce675dd5 100644 --- a/SignalMessaging/ViewControllers/ScreenLockViewController.m +++ b/SignalMessaging/ViewControllers/ScreenLockViewController.m @@ -1,5 +1,5 @@ // -// Copyright (c) 2019 Open Whisper Systems. All rights reserved. +// Copyright (c) 2020 Open Whisper Systems. All rights reserved. // #import "ScreenLockViewController.h" @@ -36,7 +36,7 @@ NSString *NSStringForScreenLockUIState(ScreenLockUIState value) { [super loadView]; - self.view.backgroundColor = UIColor.ows_signalBlueColor; + self.view.backgroundColor = Theme.launchScreenBackgroundColor; UIView *edgesView = [UIView containerView]; [self.view addSubview:edgesView]; @@ -44,11 +44,12 @@ NSString *NSStringForScreenLockUIState(ScreenLockUIState value) [edgesView autoPinEdgeToSuperviewEdge:ALEdgeBottom]; [edgesView autoPinWidthToSuperview]; - UIImage *image = [UIImage imageNamed:@"logoSignal"]; + UIImage *image = [UIImage imageNamed:@"signal-logo-128-launch-screen"]; UIImageView *imageView = [UIImageView new]; imageView.image = image; [edgesView addSubview:imageView]; [imageView autoHCenterInSuperview]; + [imageView autoSetDimensionsToSize:CGSizeMake(128, 128)]; const CGFloat kButtonHeight = 40.f; OWSFlatButton *button = diff --git a/SignalMessaging/appearance/Theme+OWS.swift b/SignalMessaging/appearance/Theme+OWS.swift index 76d797aa3a..707c5b6699 100644 --- a/SignalMessaging/appearance/Theme+OWS.swift +++ b/SignalMessaging/appearance/Theme+OWS.swift @@ -50,6 +50,13 @@ public enum ThemeIcon: UInt { @objc public extension Theme { + @objc(launchScreenBackgroundColor) + class var launchScreenBackground: UIColor { + // We only adapt for dark theme on iOS 13+, because only iOS 13 supports + // handling dark / light appearance in the launch screen storyboard. + guard #available(iOS 13, *) else { return .ows_signalBlue } + return Theme.isDarkThemeEnabled ? .ows_signalBlueDark : .ows_signalBlue + } class func iconImage(_ icon: ThemeIcon) -> UIImage { let name = iconName(icon) diff --git a/SignalMessaging/appearance/Theme.m b/SignalMessaging/appearance/Theme.m index 574b390b69..57a6278fbf 100644 --- a/SignalMessaging/appearance/Theme.m +++ b/SignalMessaging/appearance/Theme.m @@ -93,7 +93,7 @@ NSString *const ThemeKeyCurrentMode = @"ThemeKeyCurrentMode"; if (!self.storageCoordinator.isStorageReady) { // Don't cache this value until it reflects the data store. - return NO; + return self.isSystemDarkThemeEnabled; } if (self.isDarkThemeEnabledNumber == nil) { diff --git a/SignalMessaging/categories/UIColor+OWS.swift b/SignalMessaging/categories/UIColor+OWS.swift index 744cc4ccdc..beb6d85f36 100644 --- a/SignalMessaging/categories/UIColor+OWS.swift +++ b/SignalMessaging/categories/UIColor+OWS.swift @@ -1,5 +1,5 @@ // -// Copyright (c) 2019 Open Whisper Systems. All rights reserved. +// Copyright (c) 2020 Open Whisper Systems. All rights reserved. // import Foundation @@ -55,7 +55,12 @@ public extension UIColor { @objc(ows_signalBlueColor) class var ows_signalBlue: UIColor { - return UIColor(rgbHex: 0x2090EA) + return UIColor(rgbHex: 0x3A76F0) + } + + @objc(ows_signalBlueDarkColor) + class var ows_signalBlueDark: UIColor { + return UIColor(rgbHex: 0x1851B4) } // MARK: Accent Colors diff --git a/SignalMessaging/utils/OWSWindowManager.m b/SignalMessaging/utils/OWSWindowManager.m index 23af6fb3ab..166b330301 100644 --- a/SignalMessaging/utils/OWSWindowManager.m +++ b/SignalMessaging/utils/OWSWindowManager.m @@ -1,5 +1,5 @@ // -// Copyright (c) 2019 Open Whisper Systems. All rights reserved. +// Copyright (c) 2020 Open Whisper Systems. All rights reserved. // #import "OWSWindowManager.h" @@ -208,11 +208,10 @@ const UIWindowLevel UIWindowLevel_ScreenBlocking(void) window.hidden = YES; window.windowLevel = UIWindowLevel_CallView(); window.opaque = YES; - // TODO: What's the right color to use here? - window.backgroundColor = UIColor.ows_signalBlueColor; + window.backgroundColor = Theme.launchScreenBackgroundColor; UIViewController *viewController = [OWSWindowRootViewController new]; - viewController.view.backgroundColor = UIColor.ows_signalBlueColor; + viewController.view.backgroundColor = Theme.launchScreenBackgroundColor; // NOTE: Do not use OWSNavigationController for call window. // It adjusts the size of the navigation bar to reflect the diff --git a/SignalShareExtension/SAEFailedViewController.swift b/SignalShareExtension/SAEFailedViewController.swift index e6192e362a..0f2361d78a 100644 --- a/SignalShareExtension/SAEFailedViewController.swift +++ b/SignalShareExtension/SAEFailedViewController.swift @@ -1,5 +1,5 @@ // -// Copyright (c) 2019 Open Whisper Systems. All rights reserved. +// Copyright (c) 2020 Open Whisper Systems. All rights reserved. // import UIKit @@ -40,9 +40,9 @@ class SAEFailedViewController: UIViewController { action: #selector(cancelPressed)) self.navigationItem.title = "Signal" - self.view.backgroundColor = UIColor.ows_signalBlue + self.view.backgroundColor = Theme.launchScreenBackground - let logoImage = UIImage(named: "logoSignal") + let logoImage = UIImage(named: "signal-logo-128-launch-screen") let logoImageView = UIImageView(image: logoImage) self.view.addSubview(logoImageView) logoImageView.autoCenterInSuperview() diff --git a/SignalShareExtension/SAELoadViewController.swift b/SignalShareExtension/SAELoadViewController.swift index a468a835f1..42ff253feb 100644 --- a/SignalShareExtension/SAELoadViewController.swift +++ b/SignalShareExtension/SAELoadViewController.swift @@ -1,5 +1,5 @@ // -// Copyright (c) 2019 Open Whisper Systems. All rights reserved. +// Copyright (c) 2020 Open Whisper Systems. All rights reserved. // import UIKit @@ -61,7 +61,7 @@ class SAELoadViewController: UIViewController { action: #selector(cancelPressed)) self.navigationItem.title = "Signal" - self.view.backgroundColor = UIColor.ows_signalBlue + self.view.backgroundColor = Theme.launchScreenBackground let activityIndicator = UIActivityIndicatorView(style: .whiteLarge) self.activityIndicator = activityIndicator diff --git a/SignalShareExtension/SAEScreenLockViewController.m b/SignalShareExtension/SAEScreenLockViewController.m index 16a4df1e8a..f74ca006a4 100644 --- a/SignalShareExtension/SAEScreenLockViewController.m +++ b/SignalShareExtension/SAEScreenLockViewController.m @@ -1,10 +1,11 @@ // -// Copyright (c) 2019 Open Whisper Systems. All rights reserved. +// Copyright (c) 2020 Open Whisper Systems. All rights reserved. // #import "SAEScreenLockViewController.h" #import #import +#import NS_ASSUME_NONNULL_BEGIN @@ -40,7 +41,7 @@ NS_ASSUME_NONNULL_BEGIN { [super loadView]; - self.view.backgroundColor = UIColor.ows_signalBlueColor; + self.view.backgroundColor = Theme.launchScreenBackgroundColor; self.title = NSLocalizedString(@"SHARE_EXTENSION_VIEW_TITLE", @"Title for the 'share extension' view.");