refactor: Store userId in EQNUserData

This commit is contained in:
Andrea Busi
2022-11-11 10:47:54 +01:00
parent 8404d72d8f
commit f3c3c19e39
3 changed files with 27 additions and 10 deletions
@@ -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;
+2 -9
View File
@@ -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];
}
@@ -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)
}
}