From 18d8c18632c41e978ab1a2437bd161af4ff6c375 Mon Sep 17 00:00:00 2001 From: Ryan ZHAO <> Date: Mon, 31 Mar 2025 14:40:41 +1100 Subject: [PATCH] clean up --- .../ConversationVC+Interaction.swift | 19 ++- .../General/SNUserDefaults.swift | 112 ------------------ 2 files changed, 8 insertions(+), 123 deletions(-) delete mode 100644 SessionUtilitiesKit/General/SNUserDefaults.swift diff --git a/Session/Conversations/ConversationVC+Interaction.swift b/Session/Conversations/ConversationVC+Interaction.swift index 3953c5bb2..0898b7565 100644 --- a/Session/Conversations/ConversationVC+Interaction.swift +++ b/Session/Conversations/ConversationVC+Interaction.swift @@ -178,19 +178,16 @@ extension ConversationVC: guard Permissions.microphone == .granted, self.viewModel.threadData.threadVariant == .contact, - viewModel.dependencies[singleton: .callManager].currentCall == nil, - let call: SessionCall = viewModel.dependencies[singleton: .storage] - .read({ [dependencies = viewModel.dependencies] db in - SessionCall( - for: threadId, - contactName: self.viewModel.threadData.displayName, - uuid: UUID().uuidString.lowercased(), - mode: .offer, - using: dependencies - ) - }) + viewModel.dependencies[singleton: .callManager].currentCall == nil else { return } + let call: SessionCall = SessionCall( + for: threadId, + contactName: self.viewModel.threadData.displayName, + uuid: UUID().uuidString.lowercased(), + mode: .offer, + using: viewModel.dependencies + ) let callVC = CallVC(for: call, using: viewModel.dependencies) callVC.conversationVC = self hideInputAccessoryView() diff --git a/SessionUtilitiesKit/General/SNUserDefaults.swift b/SessionUtilitiesKit/General/SNUserDefaults.swift deleted file mode 100644 index f3b2da3df..000000000 --- a/SessionUtilitiesKit/General/SNUserDefaults.swift +++ /dev/null @@ -1,112 +0,0 @@ -import Foundation - -public protocol UserDefaultsType: AnyObject { - func object(forKey defaultName: String) -> Any? - func string(forKey defaultName: String) -> String? - func array(forKey defaultName: String) -> [Any]? - func dictionary(forKey defaultName: String) -> [String : Any]? - func data(forKey defaultName: String) -> Data? - func stringArray(forKey defaultName: String) -> [String]? - func integer(forKey defaultName: String) -> Int - func float(forKey defaultName: String) -> Float - func double(forKey defaultName: String) -> Double - func bool(forKey defaultName: String) -> Bool - func url(forKey defaultName: String) -> URL? - - func set(_ value: Any?, forKey defaultName: String) - func set(_ value: Int, forKey defaultName: String) - func set(_ value: Float, forKey defaultName: String) - func set(_ value: Double, forKey defaultName: String) - func set(_ value: Bool, forKey defaultName: String) - func set(_ url: URL?, forKey defaultName: String) -} - -extension UserDefaults: UserDefaultsType {} - -public enum SNUserDefaults { - - public enum Bool: Swift.String { - case hasSyncedInitialConfiguration = "hasSyncedConfiguration" - case hasSeenLinkPreviewSuggestion - case hasSeenCallIPExposureWarning - case hasSeenCallMissedTips - case isUsingFullAPNs - case wasUnlinked - case isMainAppActive - case isCallOngoing - case lastSeenHasMicrophonePermission - case lastSeenHasLocalNetworkPermission - } - - public enum Date: Swift.String { - case lastProfilePictureUpload - case lastOpenGroupImageUpdate - case lastOpen - case lastGarbageCollection - case lastPushNotificationSync - case lastCallPreOffer - } - - public enum Double: Swift.String { - case lastDeviceTokenUpload = "lastDeviceTokenUploadTime" - } - - public enum Int: Swift.String { - case appMode - case hardfork - case softfork - } - - public enum String : Swift.String { - case deviceToken - case topBannerWarningToShow - } -} - -public extension UserDefaults { - @ThreadSafeObject private static var cachedApplicationGroup: String = "" - - // stringlint:ignore_contents - static let applicationGroup: String = { - guard !cachedApplicationGroup.isEmpty else { - let dynamicAppGroupsId: String = (Bundle.main.infoDictionary?["AppGroupsId"] as? String) - .defaulting(to: "group.com.loki-project.loki-messenger") - - _cachedApplicationGroup.set(to: dynamicAppGroupsId) - return dynamicAppGroupsId - } - - return cachedApplicationGroup - }() - - @objc static var sharedLokiProject: UserDefaults? { - UserDefaults(suiteName: UserDefaults.applicationGroup) - } -} - -public extension UserDefaultsType { - subscript(bool: SNUserDefaults.Bool) -> Bool { - get { return self.bool(forKey: bool.rawValue) } - set { set(newValue, forKey: bool.rawValue) } - } - - subscript(date: SNUserDefaults.Date) -> Date? { - get { return self.object(forKey: date.rawValue) as? Date } - set { set(newValue, forKey: date.rawValue) } - } - - subscript(double: SNUserDefaults.Double) -> Double { - get { return self.double(forKey: double.rawValue) } - set { set(newValue, forKey: double.rawValue) } - } - - subscript(int: SNUserDefaults.Int) -> Int { - get { return self.integer(forKey: int.rawValue) } - set { set(newValue, forKey: int.rawValue) } - } - - subscript(string: SNUserDefaults.String) -> String? { - get { return self.string(forKey: string.rawValue) } - set { set(newValue, forKey: string.rawValue) } - } -}