From daf1e3c0b33f98168396c1a51dcacdb79ed0f678 Mon Sep 17 00:00:00 2001 From: Leonardo Brondani Schenkel Date: Tue, 17 Feb 2015 15:20:10 +0100 Subject: [PATCH 2/4] Use FXKeychain instead of NSUserDefaults --- FreeOTP/TokenStore.m | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/FreeOTP/TokenStore.m b/FreeOTP/TokenStore.m index c4dfc03..1ca479b 100644 --- a/FreeOTP/TokenStore.m +++ b/FreeOTP/TokenStore.m @@ -19,17 +19,17 @@ // #import "TokenStore.h" +#import "FXKeychain.h" #define TOKEN_ORDER @"tokenOrder" static NSMutableArray* -getTokenOrder(NSUserDefaults* def) +getTokenOrder(FXKeychain* def) { NSMutableArray* order = [NSMutableArray arrayWithArray:[def objectForKey:TOKEN_ORDER]]; if (order == nil) { order = [[NSMutableArray alloc] init]; [def setObject:order forKey:TOKEN_ORDER]; - [def synchronize]; } return order; @@ -37,17 +37,18 @@ getTokenOrder(NSUserDefaults* def) @implementation TokenStore { - NSUserDefaults* def; + FXKeychain* def; } - (id)init { self = [super init]; - def = [NSUserDefaults standardUserDefaults]; + def = [FXKeychain defaultKeychain]; if (def == nil) return nil; - + def.accessibility = FXKeychainAccessibleWhenUnlockedThisDeviceOnly; + return self; } @@ -64,14 +65,13 @@ getTokenOrder(NSUserDefaults* def) - (void)add:(Token*)token atIndex:(NSUInteger)index { - if ([def stringForKey:token.uid] != nil) + if ([def objectForKey:token.uid] != nil) return; NSMutableArray* order = getTokenOrder(def); [order insertObject:token.uid atIndex:index]; [def setObject:order forKey:TOKEN_ORDER]; [def setObject:token.description forKey:token.uid]; - [def synchronize]; } - (void)del:(NSUInteger)index @@ -84,7 +84,6 @@ getTokenOrder(NSUserDefaults* def) [order removeObjectAtIndex:index]; [def setObject:order forKey:TOKEN_ORDER]; [def removeObjectForKey:key]; - [def synchronize]; } - (Token*)get:(NSUInteger)index @@ -96,17 +95,16 @@ getTokenOrder(NSUserDefaults* def) NSString* key = [order objectAtIndex:index]; if (key == nil) return nil; - + return [[Token alloc] initWithString:[def objectForKey:key] internal:YES]; } - (void)save:(Token*)token { - if ([def stringForKey:token.uid] == nil) + if ([def objectForKey:token.uid] == nil) return; [def setObject:token.description forKey:token.uid]; - [def synchronize]; } - (void)moveFrom:(NSUInteger)fromIndex to:(NSUInteger)toIndex @@ -120,6 +118,5 @@ getTokenOrder(NSUserDefaults* def) [order insertObject:key atIndex:toIndex]; [def setObject:order forKey:TOKEN_ORDER]; - [def synchronize]; } @end -- 2.3.0