Import fix, password type change fix, fancier generator appearance.
[FIXED] Import of ubiquity changes was using wrong delegate method and MOC. [FIXED] Password type change broken when password type causes a class change. [IMPROVED] Fancier animation of emergency generator appearance.
This commit is contained in:
parent
076cfb1257
commit
cefe8d144d
2
External/Pearl
vendored
2
External/Pearl
vendored
@ -1 +1 @@
|
||||
Subproject commit c2b07f9c648fd6386aca0c982b44769bb36ac4b3
|
||||
Subproject commit a2a43a63e26a110ebd130c918b8a47b41b20ae99
|
2
External/UbiquityStoreManager
vendored
2
External/UbiquityStoreManager
vendored
@ -1 +1 @@
|
||||
Subproject commit 389c8b78501331af77c363857f381a497cbf0060
|
||||
Subproject commit 8c7d9d629ef4f8ad26f1cd3f8012687f311a7c71
|
@ -316,9 +316,9 @@ PearlAssociatedObjectProperty(NSManagedObjectContext*, MainManagedObjectContext,
|
||||
|
||||
#pragma mark - UbiquityStoreManagerDelegate
|
||||
|
||||
- (NSManagedObjectContext *)managedObjectContextForUbiquityStoreManager:(UbiquityStoreManager *)usm {
|
||||
- (NSManagedObjectContext *)managedObjectContextForUbiquityChangesInManager:(UbiquityStoreManager *)manager {
|
||||
|
||||
return [self privateManagedObjectContextIfReady];
|
||||
return [self mainManagedObjectContextIfReady];
|
||||
}
|
||||
|
||||
- (void)ubiquityStoreManager:(UbiquityStoreManager *)manager log:(NSString *)message {
|
||||
@ -328,7 +328,7 @@ PearlAssociatedObjectProperty(NSManagedObjectContext*, MainManagedObjectContext,
|
||||
|
||||
- (void)ubiquityStoreManager:(UbiquityStoreManager *)manager willLoadStoreIsCloud:(BOOL)isCloudStore {
|
||||
|
||||
NSManagedObjectContext *moc = self.mainManagedObjectContextIfReady;
|
||||
NSManagedObjectContext *moc = [self mainManagedObjectContextIfReady];
|
||||
[moc performBlockAndWait:^{
|
||||
[moc saveToStore];
|
||||
|
||||
|
@ -598,6 +598,8 @@
|
||||
NSString *oldPassword = [activeElement.content description];
|
||||
if (!task( activeElement, context ))
|
||||
return;
|
||||
|
||||
activeElement = [self activeElementInContext:context];
|
||||
NSString *newPassword = [activeElement.content description];
|
||||
|
||||
// Save.
|
||||
@ -787,11 +789,15 @@
|
||||
@"If you continue, the password for this site will change. "
|
||||
@"You will need to update your account's old password to the new one."
|
||||
do:^BOOL(MPElementEntity *activeElement, NSManagedObjectContext *context) {
|
||||
if ([activeElement.algorithm classOfType:type] != activeElement.typeClass) {
|
||||
if ([activeElement.algorithm classOfType:type] == activeElement.typeClass)
|
||||
activeElement.type = type;
|
||||
|
||||
else {
|
||||
// Type requires a different class of element. Recreate the element.
|
||||
MPElementEntity *newElement
|
||||
= [NSEntityDescription insertNewObjectForEntityForName:[activeElement.algorithm classNameOfType:type]
|
||||
inManagedObjectContext:context];
|
||||
newElement.type = type;
|
||||
newElement.name = activeElement.name;
|
||||
newElement.user = activeElement.user;
|
||||
newElement.uses = activeElement.uses;
|
||||
@ -800,6 +806,7 @@
|
||||
newElement.loginName = activeElement.loginName;
|
||||
|
||||
[context deleteObject:activeElement];
|
||||
[context saveToStore];
|
||||
|
||||
NSError *error;
|
||||
if (![context obtainPermanentIDsForObjects:@[ newElement ] error:&error])
|
||||
@ -808,7 +815,6 @@
|
||||
_activeElementOID = newElement.objectID;
|
||||
activeElement = newElement;
|
||||
}
|
||||
activeElement.type = type;
|
||||
|
||||
[[NSNotificationCenter defaultCenter]
|
||||
postNotificationName:MPElementUpdatedNotification object:activeElement.objectID];
|
||||
|
@ -77,7 +77,9 @@
|
||||
[(UITextField *)[cell viewWithTag:2] setText:@"..."];
|
||||
|
||||
NSString *name = selectedElement.name;
|
||||
NSUInteger counter = ((MPElementGeneratedEntity *)selectedElement).counter;
|
||||
NSUInteger counter = 0;
|
||||
if ([selectedElement isKindOfClass:[MPElementGeneratedEntity class]])
|
||||
counter = ((MPElementGeneratedEntity *)selectedElement).counter;
|
||||
|
||||
dispatch_async( dispatch_get_global_queue( DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0 ), ^{
|
||||
NSString *typeContent = [MPAlgorithmDefault generateContentNamed:name ofType:cellType
|
||||
|
@ -8,6 +8,7 @@
|
||||
|
||||
#import <QuartzCore/QuartzCore.h>
|
||||
#import <Social/Social.h>
|
||||
#import <CoreGraphics/CoreGraphics.h>
|
||||
|
||||
#import "MPUnlockViewController.h"
|
||||
#import "MPiOSAppDelegate.h"
|
||||
@ -209,6 +210,8 @@
|
||||
|
||||
- (void)viewDidAppear:(BOOL)animated {
|
||||
|
||||
[self becomeFirstResponder];
|
||||
|
||||
if (!animated && !self.navigationController.presentedViewController)
|
||||
[[self findTargetedAvatar] setSelected:YES];
|
||||
else
|
||||
@ -254,10 +257,21 @@
|
||||
|
||||
self.emergencyGeneratorContainer.alpha = 0;
|
||||
self.emergencyGeneratorContainer.hidden = NO;
|
||||
[UIView animateWithDuration:0.5 animations:^{
|
||||
self.emergencyGeneratorContainer.frame = CGRectSetX( self.emergencyGeneratorContainer.frame,
|
||||
self.emergencyGeneratorContainer.frame.origin.x - 100 );
|
||||
[UIView animateWithDuration:0.3 animations:^{
|
||||
self.emergencyGeneratorContainer.frame = CGRectSetX( self.emergencyGeneratorContainer.frame,
|
||||
self.emergencyGeneratorContainer.frame.origin.x + 150 );
|
||||
self.emergencyGeneratorContainer.alpha = 1;
|
||||
} completion:^(BOOL finished) {
|
||||
if (!finished)
|
||||
return;
|
||||
|
||||
[self.emergencyName becomeFirstResponder];
|
||||
[UIView animateWithDuration:0.2 animations:^{
|
||||
self.emergencyGeneratorContainer.frame = CGRectSetX( self.emergencyGeneratorContainer.frame,
|
||||
self.emergencyGeneratorContainer.frame.origin.x - 50 );
|
||||
}];
|
||||
}];
|
||||
}
|
||||
}
|
||||
@ -925,7 +939,7 @@
|
||||
[[self.emergencyGeneratorContainer findFirstResponderInHierarchy] resignFirstResponder];
|
||||
|
||||
if (animated) {
|
||||
[UIView animateWithDuration:0.5 animations:^{
|
||||
[UIView animateWithDuration:0.2 animations:^{
|
||||
self.emergencyGeneratorContainer.alpha = 0;
|
||||
} completion:^(BOOL finished) {
|
||||
[self emergencyCloseAnimated:NO];
|
||||
|
@ -1549,11 +1549,11 @@ You could use the word wall for inspiration in finding a memorable master passw
|
||||
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
|
||||
</view>
|
||||
<view hidden="YES" alpha="0.30000000000000016" contentMode="scaleToFill" id="KNa-Xb-RuE" userLabel="View - Emergency Generator">
|
||||
<rect key="frame" x="0.0" y="0.0" width="320" height="568"/>
|
||||
<rect key="frame" x="-100" y="0.0" width="520" height="568"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<view contentMode="scaleToFill" id="vdf-Kn-Sle">
|
||||
<rect key="frame" x="0.0" y="20" width="320" height="434"/>
|
||||
<rect key="frame" x="100" y="20" width="320" height="434"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" image="ui_panel_display.png" id="jLf-TI-anP">
|
||||
|
Loading…
Reference in New Issue
Block a user