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.
26 lines
762 B
Swift
26 lines
762 B
Swift
import Foundation
|
|
|
|
public enum General {
|
|
public enum Cache {
|
|
public static var cachedEncodedPublicKey: Atomic<String?> = Atomic(nil)
|
|
}
|
|
}
|
|
|
|
@objc(SNGeneralUtilities)
|
|
public class GeneralUtilities: NSObject {
|
|
@objc public static func getUserPublicKey() -> String {
|
|
return getUserHexEncodedPublicKey()
|
|
}
|
|
}
|
|
|
|
public func getUserHexEncodedPublicKey() -> String {
|
|
if let cachedKey: String = General.Cache.cachedEncodedPublicKey.wrappedValue { return cachedKey }
|
|
|
|
if let keyPair = OWSIdentityManager.shared().identityKeyPair() { // Can be nil under some circumstances
|
|
General.Cache.cachedEncodedPublicKey.mutate { $0 = keyPair.hexEncodedPublicKey }
|
|
return keyPair.hexEncodedPublicKey
|
|
}
|
|
|
|
return ""
|
|
}
|