76 lines
2.0 KiB
Swift
76 lines
2.0 KiB
Swift
// Copyright 2015-present 650 Industries. All rights reserved.
|
|
|
|
import UIKit
|
|
|
|
@objc
|
|
public class EXDevLauncherManifestHelper: NSObject {
|
|
#if !os(tvOS)
|
|
private static func defaultOrientationForOrientationMask(_ orientationMask: UIInterfaceOrientationMask) -> UIInterfaceOrientation {
|
|
if orientationMask.contains(.all) {
|
|
return UIInterfaceOrientation.unknown
|
|
}
|
|
if orientationMask.contains(.portrait) {
|
|
return UIInterfaceOrientation.portrait
|
|
}
|
|
if orientationMask.contains(.landscapeLeft) {
|
|
return UIInterfaceOrientation.landscapeLeft
|
|
}
|
|
if orientationMask.contains(.landscapeRight) {
|
|
return UIInterfaceOrientation.landscapeRight
|
|
}
|
|
if orientationMask.contains(.portraitUpsideDown) {
|
|
return UIInterfaceOrientation.portraitUpsideDown
|
|
}
|
|
|
|
return UIInterfaceOrientation.unknown
|
|
}
|
|
|
|
@objc
|
|
public static func exportManifestOrientation(_ orientation: String?) -> UIInterfaceOrientation {
|
|
var orientationMask = UIInterfaceOrientationMask.all
|
|
if orientation == "portrait" {
|
|
orientationMask = .portrait
|
|
} else if orientation == "landscape" {
|
|
orientationMask = .landscape
|
|
}
|
|
|
|
return defaultOrientationForOrientationMask(orientationMask)
|
|
}
|
|
#endif
|
|
|
|
@objc
|
|
public static func hexStringToColor(_ hexString: String?) -> UIColor? {
|
|
guard var hexString = hexString else {
|
|
return nil
|
|
}
|
|
|
|
if hexString.count != 7 || !hexString.starts(with: "#") {
|
|
return nil
|
|
}
|
|
|
|
hexString.removeFirst()
|
|
|
|
var rgbValue: UInt64 = 0
|
|
Scanner(string: hexString).scanHexInt64(&rgbValue)
|
|
|
|
return UIColor(
|
|
red: CGFloat((rgbValue & 0xFF0000) >> 16) / 255.0,
|
|
green: CGFloat((rgbValue & 0x00FF00) >> 8) / 255.0,
|
|
blue: CGFloat(rgbValue & 0x0000FF) / 255.0,
|
|
alpha: 1.0
|
|
)
|
|
}
|
|
|
|
@objc
|
|
public static func exportManifestUserInterfaceStyle(_ userInterfaceStyle: String?) -> UIUserInterfaceStyle {
|
|
switch userInterfaceStyle {
|
|
case "light":
|
|
return .light
|
|
case "dark":
|
|
return .dark
|
|
default:
|
|
return .unspecified
|
|
}
|
|
}
|
|
}
|