mirror of https://github.com/oxen-io/session-ios
				
				
				
			
			You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			60 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Swift
		
	
			
		
		
	
	
			60 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Swift
		
	
| 
 | |
| @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
 | |
|     @objc(setCurrentAppMode:)
 | |
|     func setCurrentAppMode(to appMode: AppMode)
 | |
| }
 | |
| 
 | |
| @objc(LKAppMode)
 | |
| public enum AppMode : Int {
 | |
|     case light, dark
 | |
| }
 | |
| 
 | |
| public var isLightMode: Bool {
 | |
|     return AppModeManager.shared.currentAppMode == .light
 | |
| }
 | |
| 
 | |
| public var isDarkMode: Bool {
 | |
|     return AppModeManager.shared.currentAppMode == .dark
 | |
| }
 | |
| 
 | |
| @objc public final class LKAppModeUtilities : NSObject {
 | |
| 
 | |
|     @objc public static var isLightMode: Bool {
 | |
|         return AppModeManager.shared.currentAppMode == .light
 | |
|     }
 | |
| 
 | |
|     @objc public static var isDarkMode: Bool {
 | |
|         return AppModeManager.shared.currentAppMode == .dark
 | |
|     }
 | |
| }
 |