session-ios/SignalMessaging/Loki/Redesign/Style Guide/AppMode.swift

59 lines
1.4 KiB
Swift
Raw Normal View History

2020-02-17 02:08:46 +01:00
@objc(LKAppModeManager)
public final class AppModeManager : NSObject {
private let delegate: AppModeManagerDelegate
public var currentAppMode: AppMode {
return delegate.getCurrentAppMode()
}
public static var shared: AppModeManager!
@objc(configureWithDelegate:)
public static func configure(delegate: AppModeManagerDelegate) {
shared = AppModeManager(delegate: delegate)
}
private init(delegate: AppModeManagerDelegate) {
self.delegate = delegate
super.init()
}
private override init() { preconditionFailure("Use init(delegate:) instead.") }
public func setCurrentAppMode(to appMode: AppMode) {
delegate.setCurrentAppMode(to: appMode)
}
}
@objc(LKAppModeManagerDelegate)
public protocol AppModeManagerDelegate {
func getCurrentAppMode() -> AppMode
func setCurrentAppMode(to appMode: AppMode)
}
@objc(LKAppMode)
public enum AppMode : Int {
2020-02-17 02:08:46 +01:00
case light, dark
}
public var isLightMode: Bool {
return AppModeManager.shared.currentAppMode == .light
2020-02-17 02:08:46 +01:00
}
2020-02-24 03:31:13 +01:00
public var isDarkMode: Bool {
return AppModeManager.shared.currentAppMode == .dark
2020-02-24 03:31:13 +01:00
}
2020-03-17 05:12:08 +01:00
@objc public final class LKAppModeUtilities : NSObject {
2020-03-17 05:21:32 +01:00
@objc public static var isLightMode: Bool {
return AppModeManager.shared.currentAppMode == .light
2020-03-17 05:21:32 +01:00
}
@objc public static var isDarkMode: Bool {
return AppModeManager.shared.currentAppMode == .dark
2020-03-17 05:21:32 +01:00
}
2020-03-17 05:12:08 +01:00
}