diff --git a/MasterPassword/ObjC/iOS/MPGuideViewController.m b/MasterPassword/ObjC/iOS/MPGuideViewController.m index 499a5986..a5942d33 100644 --- a/MasterPassword/ObjC/iOS/MPGuideViewController.m +++ b/MasterPassword/ObjC/iOS/MPGuideViewController.m @@ -29,6 +29,11 @@ return UIInterfaceOrientationPortrait; } +- (BOOL)prefersStatusBarHidden { + + return NO; +} + - (void)viewDidLoad { [super viewDidLoad]; @@ -44,6 +49,10 @@ - (void)viewWillAppear:(BOOL)animated { + [self.navigationController setNavigationBarHidden:YES animated:animated]; + if (![super respondsToSelector:@selector(prefersStatusBarHidden)]) + [[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation:UIStatusBarAnimationSlide]; + inf(@"Guide will appear."); [super viewWillAppear:animated]; diff --git a/MasterPassword/ObjC/iOS/MPUnlockViewController.h b/MasterPassword/ObjC/iOS/MPUnlockViewController.h index 6cfa7622..a048c9e9 100644 --- a/MasterPassword/ObjC/iOS/MPUnlockViewController.h +++ b/MasterPassword/ObjC/iOS/MPUnlockViewController.h @@ -25,6 +25,7 @@ @property(weak, nonatomic) IBOutlet UIView *wordWall; @property(strong, nonatomic) IBOutlet UILongPressGestureRecognizer *targetedUserActionGesture; @property(weak, nonatomic) IBOutlet UIView *uiContainer; +@property(weak, nonatomic) IBOutlet UIView *shareContainer; @property(weak, nonatomic) IBOutlet UIWebView *newsView; @property(weak, nonatomic) IBOutlet UIView *emergencyGeneratorContainer; @property(weak, nonatomic) IBOutlet UITextField *emergencyName; diff --git a/MasterPassword/ObjC/iOS/MPUnlockViewController.m b/MasterPassword/ObjC/iOS/MPUnlockViewController.m index 33f65894..4162b040 100644 --- a/MasterPassword/ObjC/iOS/MPUnlockViewController.m +++ b/MasterPassword/ObjC/iOS/MPUnlockViewController.m @@ -179,6 +179,7 @@ ^(NSNotification *note) { [self emergencyCloseAnimated:NO]; self.uiContainer.alpha = 0; + self.shareContainer.alpha = 0; }]; [[NSNotificationCenter defaultCenter] addObserverForName:UIApplicationDidBecomeActiveNotification object:nil queue:[NSOperationQueue mainQueue] usingBlock: @@ -186,6 +187,11 @@ [self updateLayoutAnimated:NO allowScroll:NO completion:nil]; [UIView animateWithDuration:1 animations:^{ self.uiContainer.alpha = 1; + } completion:^(BOOL finished) { + if (finished) + [UIView animateWithDuration:1 animations:^{ + self.shareContainer.alpha = 1; + }]; }]; NSString *newsURL = PearlString( @"http://masterpasswordapp.com/news.html?version=%@", @@ -211,6 +217,7 @@ [self updateUsers]; self.uiContainer.alpha = 0; + self.shareContainer.alpha = 0; self.spinner.alpha = 0; [super viewWillAppear:animated]; @@ -225,8 +232,13 @@ else [self updateLayoutAnimated:YES allowScroll:YES completion:nil]; - [UIView animateWithDuration:0.5 animations:^{ + [UIView animateWithDuration:1 animations:^{ self.uiContainer.alpha = 1; + } completion:^(BOOL finished) { + if (finished) + [UIView animateWithDuration:1 animations:^{ + self.shareContainer.alpha = 1; + }]; }]; [self.marqueeTipTimer invalidate]; @@ -345,10 +357,11 @@ self.selectedUser = nil; [self didToggleUserSelection]; } - else if ((self.selectedUser = user)) - [self didToggleUserSelection]; - else + else if (!user) [self didSelectNewUserAvatar:avatar]; + else if ([self setSelectedUser:user]) + [self didToggleUserSelection]; + } options:0]; [self.avatarToUserOID setObject:NilToNSNull([user objectID]) forKey:[NSValue valueWithNonretainedObject:avatar]]; @@ -1186,7 +1199,10 @@ return selectedUser; } -- (void)setSelectedUser:(MPUserEntity *)selectedUser { +- (BOOL)setSelectedUser:(MPUserEntity *)selectedUser { + + if ([_selectedUserOID isEqual:selectedUser.objectID]) + return NO; NSError *error = nil; if (selectedUser.objectID.isTemporaryID && @@ -1194,6 +1210,7 @@ err(@"Failed to obtain a permanent object ID after setting selected user: %@", error); _selectedUserOID = selectedUser.objectID; + return YES; } @end diff --git a/MasterPassword/ObjC/iOS/MainStoryboard_iPhone.storyboard b/MasterPassword/ObjC/iOS/MainStoryboard_iPhone.storyboard index 5d24c05f..3d517849 100644 --- a/MasterPassword/ObjC/iOS/MainStoryboard_iPhone.storyboard +++ b/MasterPassword/ObjC/iOS/MainStoryboard_iPhone.storyboard @@ -1,8 +1,8 @@ - + - + @@ -1167,7 +1167,7 @@ L4m3P4sSw0rD - + @@ -1335,14 +1335,98 @@ L4m3P4sSw0rD - + + + + + + + + + + + + + @@ -1404,7 +1488,7 @@ You can use the words in the background for inspiration in finding a memorable m - + @@ -1452,83 +1536,6 @@ You can use the words in the background for inspiration in finding a memorable m - - - - - @@ -1541,7 +1548,7 @@ You can use the words in the background for inspiration in finding a memorable m - + + @@ -1736,6 +1744,7 @@ You can use the words in the background for inspiration in finding a memorable m + @@ -1766,9 +1775,6 @@ You can use the words in the background for inspiration in finding a memorable m - - - @@ -1945,9 +1951,6 @@ If you set a custom password, it will be encrypted before it is saved to the clo - - - @@ -1956,7 +1959,7 @@ If you set a custom password, it will be encrypted before it is saved to the clo - + @@ -2289,7 +2292,7 @@ If you set a custom password, it will be encrypted before it is saved to the clo - + @@ -2312,7 +2315,7 @@ If you set a custom password, it will be encrypted before it is saved to the clo - + @@ -2509,7 +2512,7 @@ You can make passwords for anything, like email addresses, sites or real-world t - + @@ -2647,18 +2650,14 @@ You can make passwords for anything, like email addresses, sites or real-world t - + - - All - Outdated - - + @@ -2716,7 +2715,7 @@ You can make passwords for anything, like email addresses, sites or real-world t - + + + @@ -2949,9 +2950,9 @@ However, it means that anyone who finds your device unlocked can do the same. - + + - \ No newline at end of file diff --git a/MasterPassword/Resources/Media/Images.xcassets/AppIcon.appiconset/Icon-40.png b/MasterPassword/Resources/Media/Images.xcassets/AppIcon.appiconset/Icon-40.png deleted file mode 100644 index 2555019f..00000000 Binary files a/MasterPassword/Resources/Media/Images.xcassets/AppIcon.appiconset/Icon-40.png and /dev/null differ diff --git a/MasterPassword/Resources/Media/Images.xcassets/AppIcon.appiconset/Icon-60.png b/MasterPassword/Resources/Media/Images.xcassets/AppIcon.appiconset/Icon-60.png deleted file mode 100644 index dc37f8f8..00000000 Binary files a/MasterPassword/Resources/Media/Images.xcassets/AppIcon.appiconset/Icon-60.png and /dev/null differ diff --git a/MasterPassword/Resources/Media/Images.xcassets/AppIcon.appiconset/Icon-72.png b/MasterPassword/Resources/Media/Images.xcassets/AppIcon.appiconset/Icon-72.png deleted file mode 100644 index 6ab7ecfa..00000000 Binary files a/MasterPassword/Resources/Media/Images.xcassets/AppIcon.appiconset/Icon-72.png and /dev/null differ diff --git a/MasterPassword/Resources/Media/Images.xcassets/AppIcon.appiconset/Icon-72@2x.png b/MasterPassword/Resources/Media/Images.xcassets/AppIcon.appiconset/Icon-72@2x.png deleted file mode 100644 index 09207bc3..00000000 Binary files a/MasterPassword/Resources/Media/Images.xcassets/AppIcon.appiconset/Icon-72@2x.png and /dev/null differ diff --git a/MasterPassword/Resources/Media/Images.xcassets/AppIcon.appiconset/Icon-Small-50.png b/MasterPassword/Resources/Media/Images.xcassets/AppIcon.appiconset/Icon-Small-50.png deleted file mode 100644 index cf0fc07a..00000000 Binary files a/MasterPassword/Resources/Media/Images.xcassets/AppIcon.appiconset/Icon-Small-50.png and /dev/null differ diff --git a/MasterPassword/Resources/Media/Images.xcassets/AppIcon.appiconset/Icon-Small-50@2x.png b/MasterPassword/Resources/Media/Images.xcassets/AppIcon.appiconset/Icon-Small-50@2x.png deleted file mode 100644 index 2514c4cf..00000000 Binary files a/MasterPassword/Resources/Media/Images.xcassets/AppIcon.appiconset/Icon-Small-50@2x.png and /dev/null differ diff --git a/MasterPassword/Resources/Media/Images.xcassets/LaunchImage.launchimage/Contents.json b/MasterPassword/Resources/Media/Images.xcassets/LaunchImage.launchimage/Contents.json index ce5e4a3a..36323a58 100644 --- a/MasterPassword/Resources/Media/Images.xcassets/LaunchImage.launchimage/Contents.json +++ b/MasterPassword/Resources/Media/Images.xcassets/LaunchImage.launchimage/Contents.json @@ -3,33 +3,38 @@ { "orientation" : "portrait", "idiom" : "iphone", - "filename" : "Default@2x.png", + "extent" : "full-screen", "minimum-system-version" : "7.0", + "filename" : "Default@2x.png", "scale" : "2x" }, { - "orientation" : "portrait", + "extent" : "full-screen", "idiom" : "iphone", + "subtype" : "retina4", "filename" : "Default-568h@2x.png", "minimum-system-version" : "7.0", - "subtype" : "retina4", + "orientation" : "portrait", "scale" : "2x" }, { "orientation" : "portrait", "idiom" : "iphone", + "extent" : "full-screen", "filename" : "Default.png", "scale" : "1x" }, { "orientation" : "portrait", "idiom" : "iphone", + "extent" : "full-screen", "filename" : "Default@2x.png", "scale" : "2x" }, { "orientation" : "portrait", "idiom" : "iphone", + "extent" : "full-screen", "filename" : "Default-568h@2x.png", "subtype" : "retina4", "scale" : "2x" diff --git a/MasterPassword/Resources/Media/Images.xcassets/LaunchImage.launchimage/Default-568h.png b/MasterPassword/Resources/Media/Images.xcassets/LaunchImage.launchimage/Default-568h.png deleted file mode 100644 index b87fe53a..00000000 Binary files a/MasterPassword/Resources/Media/Images.xcassets/LaunchImage.launchimage/Default-568h.png and /dev/null differ