Merge pull request #5802 from BlueWallet/wrongdefaults

FIX: Wrong Suite was being targetted
This commit is contained in:
GLaDOS 2023-11-03 09:26:20 +00:00 committed by GitHub
commit 7ac3f080ed
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 24 additions and 19 deletions

View file

@ -39,17 +39,16 @@ function WatchConnectivity() {
}, [walletsInitialized, isReachable, isInstalled]);
useEffect(() => {
console.warn(isInstalled, isReachable, walletsInitialized);
console.log(`Apple Watch: isInstalled: ${isInstalled}, isReachable: ${isReachable}, walletsInitialized: ${walletsInitialized}`);
if (isInstalled && walletsInitialized) {
constructWalletsToSendToWatch().then(walletsToProcess => {
console.warn(walletsToProcess);
if (walletsToProcess) {
if (isReachable) {
transferUserInfo(walletsToProcess);
console.warn('sent info to watch transferUserInfo');
console.log('Apple Watch: sent info to watch transferUserInfo');
} else {
updateApplicationContext(walletsToProcess);
console.warn('sent info to watch context');
console.log('Apple Watch: sent info to watch context');
}
}
});

View file

@ -11,6 +11,7 @@ import ClockKit
class ComplicationController: NSObject, CLKComplicationDataSource {
private let groupUserDefaults = UserDefaults(suiteName: UserDefaultsGroupKey.GroupName.rawValue)
// MARK: - Timeline Configuration
func getSupportedTimeTravelDirections(for complication: CLKComplication, withHandler handler: @escaping (CLKComplicationTimeTravelDirections) -> Void) {
@ -43,7 +44,7 @@ class ComplicationController: NSObject, CLKComplicationDataSource {
for complication: CLKComplication,
withHandler handler: @escaping (CLKComplicationTimelineEntry?) -> Void)
{
let marketData: WidgetDataStore? = UserDefaults.standard.codable(forKey: MarketData.string)
let marketData: WidgetDataStore? = groupUserDefaults?.codable(forKey: MarketData.string)
let entry: CLKComplicationTimelineEntry
let date: Date
let valueLabel: String
@ -55,7 +56,7 @@ class ComplicationController: NSObject, CLKComplicationDataSource {
valueLabel = price
timeLabel = lastUpdated
valueSmallLabel = priceAbbreviated
if let preferredFiatCurrency = UserDefaults.standard.string(forKey: "preferredFiatCurrency"), let preferredFiatUnit = fiatUnit(currency: preferredFiatCurrency) {
if let preferredFiatCurrency = groupUserDefaults?.string(forKey: "preferredFiatCurrency"), let preferredFiatUnit = fiatUnit(currency: preferredFiatCurrency) {
currencySymbol = preferredFiatUnit.symbol
} else {
currencySymbol = fiatUnit(currency: "USD")!.symbol

View file

@ -19,15 +19,16 @@ class ExtensionDelegate: NSObject, WKExtensionDelegate {
static func preferredFiatCurrencyChanged() {
let fiatUnitUserDefaults: FiatUnit
if let preferredFiatCurrency = UserDefaults.standard.string(forKey: "preferredFiatCurrency"), let preferredFiatUnit = fiatUnit(currency: preferredFiatCurrency) {
let groupUserDefaults = UserDefaults(suiteName: UserDefaultsGroupKey.GroupName.rawValue)
if let preferredFiatCurrency = groupUserDefaults?.string(forKey: "preferredFiatCurrency"), let preferredFiatUnit = fiatUnit(currency: preferredFiatCurrency) {
fiatUnitUserDefaults = preferredFiatUnit
} else {
fiatUnitUserDefaults = fiatUnit(currency: "USD")!
}
WidgetAPI.fetchPrice(currency: fiatUnitUserDefaults.endPointKey) { (data, error) in
if let data = data, let encodedData = try? PropertyListEncoder().encode(data) {
UserDefaults.standard.set(encodedData, forKey: MarketData.string)
UserDefaults.standard.synchronize()
groupUserDefaults?.set(encodedData, forKey: MarketData.string)
groupUserDefaults?.synchronize()
let server = CLKComplicationServer.sharedInstance()
for complication in server.activeComplications ?? [] {
@ -80,15 +81,15 @@ class ExtensionDelegate: NSObject, WKExtensionDelegate {
scheduleNextReload()
let fiatUnitUserDefaults: FiatUnit
if let preferredFiatCurrency = UserDefaults.standard.string(forKey: "preferredFiatCurrency"), let preferredFiatUnit = fiatUnit(currency: preferredFiatCurrency) {
if let preferredFiatCurrency = WatchDataSource.shared.groupUserDefaults?.string(forKey: "preferredFiatCurrency"), let preferredFiatUnit = fiatUnit(currency: preferredFiatCurrency) {
fiatUnitUserDefaults = preferredFiatUnit
} else {
fiatUnitUserDefaults = fiatUnit(currency: "USD")!
}
WidgetAPI.fetchPrice(currency: fiatUnitUserDefaults.endPointKey) { [weak self] (data, error) in
if let data = data, let encodedData = try? PropertyListEncoder().encode(data) {
UserDefaults.standard.set(encodedData, forKey: MarketData.string)
UserDefaults.standard.synchronize()
WatchDataSource.shared.groupUserDefaults?.set(encodedData, forKey: MarketData.string)
WatchDataSource.shared.groupUserDefaults?.synchronize()
self?.reloadActiveComplications()
backgroundTask.setTaskCompletedWithSnapshot(false)
}

View file

@ -22,6 +22,8 @@ class WatchDataSource: NSObject {
var wallets: [Wallet] = [Wallet]()
var companionWalletsInitialized = false
private let keychain = KeychainSwift()
let groupUserDefaults = UserDefaults(suiteName: UserDefaultsGroupKey.GroupName.rawValue)
override init() {
super.init()
@ -98,9 +100,10 @@ class WatchDataSource: NSObject {
func processData(data: [String: Any]) {
if let preferredFiatCurrency = data["preferredFiatCurrency"] as? String, let preferredFiatCurrencyUnit = fiatUnit(currency: preferredFiatCurrency) {
UserDefaults.standard.set(preferredFiatCurrencyUnit.endPointKey, forKey: "preferredFiatCurrency")
UserDefaults.standard.synchronize()
groupUserDefaults?.set(preferredFiatCurrencyUnit.endPointKey, forKey: "preferredFiatCurrency")
groupUserDefaults?.synchronize()
ExtensionDelegate.preferredFiatCurrencyChanged()
} else if let isWalletsInitialized = data["isWalletsInitialized"] as? Bool {
companionWalletsInitialized = isWalletsInitialized

View file

@ -11,7 +11,7 @@ import Foundation
extension UserDefaults {
func codable<Element: Codable>(forKey key: String) -> Element? {
guard let data = UserDefaults.standard.data(forKey: key) else { return nil }
guard let userDefaults = UserDefaults(suiteName: UserDefaultsGroupKey.GroupName.rawValue), let data = userDefaults.data(forKey: key) else { return nil }
let element = try? PropertyListDecoder().decode(Element.self, from: data)
return element
}

View file

@ -151,7 +151,7 @@ class WidgetAPI {
}
static func getLastSelectedCurrency() -> String {
guard let dataStore = UserDefaults.standard.string(forKey: "currency") else {
guard let userDefaults = UserDefaults(suiteName: UserDefaultsGroupKey.GroupName.rawValue), let dataStore = userDefaults.string(forKey: "currency") else {
return "USD"
}

View file

@ -77,9 +77,10 @@ class WidgetData {
static let WidgetDataStoreKey = "WidgetDataStoreKey"
static let WidgetCachedDataStoreKey = "WidgetCachedDataStoreKey"
static func savePriceRateAndLastUpdate(rate: String, lastUpdate: String) {
UserDefaults.standard.setValue(["rate": rate, "lastUpdate": lastUpdate], forKey: WidgetDataStoreKey)
UserDefaults.standard.synchronize()
static func savePriceRateAndLastUpdate(rate: String, lastUpdate: String) {
guard let userDefaults = UserDefaults(suiteName: UserDefaultsGroupKey.GroupName.rawValue) else { return }
userDefaults.setValue(["rate": rate, "lastUpdate": lastUpdate], forKey: WidgetDataStoreKey)
userDefaults.synchronize()
}
}