From f3c3c19e39277d656474e7c437edd673b5838256 Mon Sep 17 00:00:00 2001 From: Andrea Busi Date: Fri, 11 Nov 2022 10:47:54 +0100 Subject: [PATCH] refactor: Store userId in EQNUserData --- Sources/Earthquake Network/Models/EQNUser.h | 1 - Sources/Earthquake Network/Models/EQNUser.m | 11 ++------ .../Models/EQNUserData.swift | 25 +++++++++++++++++++ 3 files changed, 27 insertions(+), 10 deletions(-) diff --git a/Sources/Earthquake Network/Models/EQNUser.h b/Sources/Earthquake Network/Models/EQNUser.h index 730230b..ea7e63d 100644 --- a/Sources/Earthquake Network/Models/EQNUser.h +++ b/Sources/Earthquake Network/Models/EQNUser.h @@ -20,7 +20,6 @@ NS_ASSUME_NONNULL_BEGIN @property (nonatomic, assign) CLLocationDistance distanza; @property (nonatomic, assign) BOOL monitorOn; @property (nonatomic, assign) BOOL inCarica; -@property (nonatomic, assign) BOOL registrato; + (instancetype)defaultUser; diff --git a/Sources/Earthquake Network/Models/EQNUser.m b/Sources/Earthquake Network/Models/EQNUser.m index b084920..42b95be 100644 --- a/Sources/Earthquake Network/Models/EQNUser.m +++ b/Sources/Earthquake Network/Models/EQNUser.m @@ -38,18 +38,12 @@ { self = [super init]; if (self) { - id savedUserId = [[NSUserDefaults standardUserDefaults] objectForKey:EQNUserDefaultUserId]; - _user_ID = [self convertUserIdIntoString:savedUserId]; + self.user_ID = EQNUserData.sharedData.userId; NSArray *lastPosArray = [EQNUtility loadArrayOfClass:[CLLocation class] fromUserDefaultsForKey:EQNUserDefaultLastLocation]; if (lastPosArray.count > 0) { _lastPosition = [lastPosArray lastObject]; } - - _registrato = NO; - if (_user_ID) { - _registrato = YES; - } } return self; } @@ -59,7 +53,7 @@ - (void)saveUserInfo { [EQNUserData.sharedData saveFirebaseToken:self.currentFirebaseToken]; - [[NSUserDefaults standardUserDefaults] setObject:self.user_ID forKey:EQNUserDefaultUserId]; + [EQNUserData.sharedData saveUserId:self.user_ID]; if (self.lastPosition) { NSArray *lastPosiArray = @[self.lastPosition]; [EQNUtility storeArray:lastPosiArray toUserDefaultForKey:EQNUserDefaultLastLocation]; @@ -70,7 +64,6 @@ { self.currentFirebaseToken = nil; [EQNUserData.sharedData removeAllData]; - [[NSUserDefaults standardUserDefaults] removeObjectForKey:EQNUserDefaultUserId]; [[NSUserDefaults standardUserDefaults] removeObjectForKey:EQNUserDefaultLastLocation]; [[NSUserDefaults standardUserDefaults] synchronize]; } diff --git a/Sources/Earthquake Network/Models/EQNUserData.swift b/Sources/Earthquake Network/Models/EQNUserData.swift index c778a2f..03ab451 100644 --- a/Sources/Earthquake Network/Models/EQNUserData.swift +++ b/Sources/Earthquake Network/Models/EQNUserData.swift @@ -37,8 +37,33 @@ import Foundation } } + // MARK: - User id + + @objc + var userId: String? { + let userId = UserDefaults.standard.object(forKey: EQNUserDefaultUserId) + + // nel corso delle versioni l'id รจ stato salvato in diversi modi + // per evitare problemi, cerchiamo di convertirlo in modi diveri + if let userId = userId as? String { + return userId + } else if let userId = userId as? Int { + return "\(userId)" + } else if let userId = userId as? NSNumber { + return userId.stringValue + } + + return nil + } + + @objc + func saveUserId(_ userId: String) { + UserDefaults.standard.set(userId, forKey: EQNUserDefaultUserId) + } + @objc func removeAllData() { UserDefaults.standard.removeObject(forKey: EQNUserDefaultUserFirebaseToken) + UserDefaults.standard.removeObject(forKey: EQNUserDefaultUserId) } }