Rename next-gen to Spectre.
This commit is contained in:
		@@ -30,8 +30,8 @@
 | 
				
			|||||||
@property(nonatomic, strong) IBOutlet UIView *badNameTipContainer;
 | 
					@property(nonatomic, strong) IBOutlet UIView *badNameTipContainer;
 | 
				
			||||||
@property(nonatomic, strong) IBOutlet UIView *popdownView;
 | 
					@property(nonatomic, strong) IBOutlet UIView *popdownView;
 | 
				
			||||||
@property(nonatomic, strong) IBOutlet UIView *popdownContainer;
 | 
					@property(nonatomic, strong) IBOutlet UIView *popdownContainer;
 | 
				
			||||||
@property(nonatomic, strong) IBOutlet UIView *voltoInstallAlert;
 | 
					@property(nonatomic, strong) IBOutlet UIView *spectreInstallAlert;
 | 
				
			||||||
@property(nonatomic, strong) IBOutlet UIView *voltoMigrateAlert;
 | 
					@property(nonatomic, strong) IBOutlet UIView *spectreMigrateAlert;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@property(assign, nonatomic) BOOL active;
 | 
					@property(assign, nonatomic) BOOL active;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -39,6 +39,6 @@
 | 
				
			|||||||
- (void)reloadSites;
 | 
					- (void)reloadSites;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- (IBAction)dismissPopdown:(id)sender;
 | 
					- (IBAction)dismissPopdown:(id)sender;
 | 
				
			||||||
- (IBAction)upgradeVolto:(UIButton *)sender;
 | 
					- (IBAction)upgradeSpectre:(UIButton *)sender;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@end
 | 
					@end
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -72,7 +72,7 @@ typedef NS_OPTIONS( NSUInteger, MPPasswordsTips ) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    [self registerObservers];
 | 
					    [self registerObservers];
 | 
				
			||||||
    [self updateConfigKey:nil];
 | 
					    [self updateConfigKey:nil];
 | 
				
			||||||
    [self updateVoltoAlerts];
 | 
					    [self updateSpectreAlerts];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    static NSRegularExpression *bareHostRE = nil;
 | 
					    static NSRegularExpression *bareHostRE = nil;
 | 
				
			||||||
    static dispatch_once_t once = 0;
 | 
					    static dispatch_once_t once = 0;
 | 
				
			||||||
@@ -320,7 +320,7 @@ typedef NS_OPTIONS( NSUInteger, MPPasswordsTips ) {
 | 
				
			|||||||
    PearlAddNotificationObserver( UIApplicationWillEnterForegroundNotification, nil, [NSOperationQueue mainQueue],
 | 
					    PearlAddNotificationObserver( UIApplicationWillEnterForegroundNotification, nil, [NSOperationQueue mainQueue],
 | 
				
			||||||
            ^(MPSitesViewController *self, NSNotification *note) {
 | 
					            ^(MPSitesViewController *self, NSNotification *note) {
 | 
				
			||||||
                [self viewWillAppear:YES];
 | 
					                [self viewWillAppear:YES];
 | 
				
			||||||
                [self updateVoltoAlerts];
 | 
					                [self updateSpectreAlerts];
 | 
				
			||||||
            } );
 | 
					            } );
 | 
				
			||||||
    PearlAddNotificationObserver( MPSignedOutNotification, nil, nil,
 | 
					    PearlAddNotificationObserver( MPSignedOutNotification, nil, nil,
 | 
				
			||||||
            ^(MPSitesViewController *self, NSNotification *note) {
 | 
					            ^(MPSitesViewController *self, NSNotification *note) {
 | 
				
			||||||
@@ -457,23 +457,23 @@ typedef NS_OPTIONS( NSUInteger, MPPasswordsTips ) {
 | 
				
			|||||||
        self.popdownToTopConstraint.priority = UILayoutPriorityDefaultHigh;
 | 
					        self.popdownToTopConstraint.priority = UILayoutPriorityDefaultHigh;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- (IBAction)upgradeVolto:(UIButton *)sender {
 | 
					- (IBAction)upgradeSpectre:(UIButton *)sender {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    [[MPiOSAppDelegate get] migrateFor:[MPiOSAppDelegate get].activeUserForMainThread];
 | 
					    [[MPiOSAppDelegate get] migrateFor:[MPiOSAppDelegate get].activeUserForMainThread];
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#pragma mark - Private
 | 
					#pragma mark - Private
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- (void)updateVoltoAlerts {
 | 
					- (void)updateSpectreAlerts {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    BOOL voltoInstalled = [UIApp canOpenURL:[[NSURL alloc] initWithString:@"volto:"]];
 | 
					    BOOL spectreInstalled = [UIApp canOpenURL:[[NSURL alloc] initWithString:@"spectre:"]];
 | 
				
			||||||
    if (voltoInstalled) {
 | 
					    if (spectreInstalled) {
 | 
				
			||||||
        self.voltoInstallAlert.visible = NO;
 | 
					        self.spectreInstallAlert.visible = NO;
 | 
				
			||||||
        self.voltoMigrateAlert.visible = YES;
 | 
					        self.spectreMigrateAlert.visible = YES;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    else {
 | 
					    else {
 | 
				
			||||||
        self.voltoInstallAlert.visible = [MPiOSAppDelegate get].voltoViewController != nil;
 | 
					        self.spectreInstallAlert.visible = [MPiOSAppDelegate get].spectreViewController != nil;
 | 
				
			||||||
        self.voltoMigrateAlert.visible = NO;
 | 
					        self.spectreMigrateAlert.visible = NO;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -24,7 +24,7 @@
 | 
				
			|||||||
@interface MPiOSAppDelegate : MPAppDelegate_Shared <SKStoreProductViewControllerDelegate>
 | 
					@interface MPiOSAppDelegate : MPAppDelegate_Shared <SKStoreProductViewControllerDelegate>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@property(nonatomic, strong) UIWindow *window;
 | 
					@property(nonatomic, strong) UIWindow *window;
 | 
				
			||||||
@property(nonatomic, strong) SKStoreProductViewController *voltoViewController;
 | 
					@property(nonatomic, strong) SKStoreProductViewController *spectreViewController;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- (void)openURL:(NSURL *)url;
 | 
					- (void)openURL:(NSURL *)url;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -187,16 +187,16 @@
 | 
				
			|||||||
                SKStoreProductParameterCampaignToken       : @"app-masterpassword.ios", /* Campaign:    From MasterPassword iOS */
 | 
					                SKStoreProductParameterCampaignToken       : @"app-masterpassword.ios", /* Campaign:    From MasterPassword iOS */
 | 
				
			||||||
                SKStoreProductParameterProviderToken       : @153897, /*                   Provider:    Maarten Billemont */
 | 
					                SKStoreProductParameterProviderToken       : @153897, /*                   Provider:    Maarten Billemont */
 | 
				
			||||||
//              SKStoreProductParameterITunesItemIdentifier: @510296984, /*                Application: MasterPassword iOS */
 | 
					//              SKStoreProductParameterITunesItemIdentifier: @510296984, /*                Application: MasterPassword iOS */
 | 
				
			||||||
                SKStoreProductParameterITunesItemIdentifier: @1500430196, /*               Application: Volto iOS */
 | 
					                SKStoreProductParameterITunesItemIdentifier: @1500430196, /*               Application: Spectre iOS */
 | 
				
			||||||
        }                                   completionBlock:^(BOOL result, NSError *error) {
 | 
					        }                                   completionBlock:^(BOOL result, NSError *error) {
 | 
				
			||||||
            if (error)
 | 
					            if (error)
 | 
				
			||||||
                err( @"Failed loading Volto product information: %@", error );
 | 
					                err( @"Failed loading Spectre product information: %@", error );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                if (result) {
 | 
					                if (result) {
 | 
				
			||||||
                    self.voltoViewController = migrateVC;
 | 
					                    self.spectreViewController = migrateVC;
 | 
				
			||||||
                    self.voltoViewController.delegate = self;
 | 
					                    self.spectreViewController.delegate = self;
 | 
				
			||||||
                } else {
 | 
					                } else {
 | 
				
			||||||
                    self.voltoViewController = nil;
 | 
					                    self.spectreViewController = nil;
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
        }];
 | 
					        }];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -705,7 +705,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
- (void)migrateFor:(MPUserEntity *)user {
 | 
					- (void)migrateFor:(MPUserEntity *)user {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if ([UIApp canOpenURL:[[NSURL alloc] initWithString:@"volto:"]]) {
 | 
					    if ([UIApp canOpenURL:[[NSURL alloc] initWithString:@"spectre:"]]) {
 | 
				
			||||||
        if (!user) {
 | 
					        if (!user) {
 | 
				
			||||||
            [MPiOSAppDelegate managedObjectContextPerformBlock:^(NSManagedObjectContext *context) {
 | 
					            [MPiOSAppDelegate managedObjectContextPerformBlock:^(NSManagedObjectContext *context) {
 | 
				
			||||||
                NSFetchRequest *fetchRequest = [NSFetchRequest fetchRequestWithEntityName:NSStringFromClass( [MPUserEntity class] )];
 | 
					                NSFetchRequest *fetchRequest = [NSFetchRequest fetchRequestWithEntityName:NSStringFromClass( [MPUserEntity class] )];
 | 
				
			||||||
@@ -714,7 +714,7 @@
 | 
				
			|||||||
                    return;
 | 
					                    return;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                UIAlertController *usersSheet = [UIAlertController alertControllerWithTitle:@"Migrate User"
 | 
					                UIAlertController *usersSheet = [UIAlertController alertControllerWithTitle:@"Migrate User"
 | 
				
			||||||
                                                                                    message:@"Choose a user to migrate out to Volto."
 | 
					                                                                                    message:@"Choose a user to migrate out to Spectre."
 | 
				
			||||||
                                                                             preferredStyle:UIAlertControllerStyleAlert];
 | 
					                                                                             preferredStyle:UIAlertControllerStyleAlert];
 | 
				
			||||||
                [usersSheet addAction:[UIAlertAction actionWithTitle:@"Cancel" style:UIAlertActionStyleCancel handler:nil]];
 | 
					                [usersSheet addAction:[UIAlertAction actionWithTitle:@"Cancel" style:UIAlertActionStyleCancel handler:nil]];
 | 
				
			||||||
                for (MPUserEntity *user_ in users)
 | 
					                for (MPUserEntity *user_ in users)
 | 
				
			||||||
@@ -762,7 +762,7 @@
 | 
				
			|||||||
                    return;
 | 
					                    return;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                NSURLComponents *components = [NSURLComponents new];
 | 
					                NSURLComponents *components = [NSURLComponents new];
 | 
				
			||||||
                components.scheme = @"volto";
 | 
					                components.scheme = @"spectre";
 | 
				
			||||||
                components.path = @"import";
 | 
					                components.path = @"import";
 | 
				
			||||||
                components.queryItems = @[ [[NSURLQueryItem alloc] initWithName:@"data" value:exportedUser] ];
 | 
					                components.queryItems = @[ [[NSURLQueryItem alloc] initWithName:@"data" value:exportedUser] ];
 | 
				
			||||||
                [UIApp openURL:components.URL];
 | 
					                [UIApp openURL:components.URL];
 | 
				
			||||||
@@ -770,8 +770,8 @@
 | 
				
			|||||||
        }];
 | 
					        }];
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    else if (self.voltoViewController)
 | 
					    else if (self.spectreViewController)
 | 
				
			||||||
        [self.window.rootViewController presentViewController:self.voltoViewController animated:YES completion:nil];
 | 
					        [self.window.rootViewController presentViewController:self.spectreViewController animated:YES completion:nil];
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- (void)changeMasterPasswordFor:(MPUserEntity *)user saveInContext:(NSManagedObjectContext *)moc didResetBlock:(void ( ^ )(void))didReset {
 | 
					- (void)changeMasterPasswordFor:(MPUserEntity *)user saveInContext:(NSManagedObjectContext *)moc didResetBlock:(void ( ^ )(void))didReset {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -60,7 +60,7 @@
 | 
				
			|||||||
		<string>firefox</string>
 | 
							<string>firefox</string>
 | 
				
			||||||
		<string>googlechrome</string>
 | 
							<string>googlechrome</string>
 | 
				
			||||||
		<string>opera-http</string>
 | 
							<string>opera-http</string>
 | 
				
			||||||
		<string>volto</string>
 | 
							<string>spectre</string>
 | 
				
			||||||
	</array>
 | 
						</array>
 | 
				
			||||||
	<key>LSRequiresIPhoneOS</key>
 | 
						<key>LSRequiresIPhoneOS</key>
 | 
				
			||||||
	<true/>
 | 
						<true/>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1679,12 +1679,12 @@ eg. apple.com, rmitchell@twitter.com</string>
 | 
				
			|||||||
                                        <rect key="frame" x="8" y="8" width="398" height="106"/>
 | 
					                                        <rect key="frame" x="8" y="8" width="398" height="106"/>
 | 
				
			||||||
                                        <state key="normal" backgroundImage="tip_alert_black"/>
 | 
					                                        <state key="normal" backgroundImage="tip_alert_black"/>
 | 
				
			||||||
                                        <connections>
 | 
					                                        <connections>
 | 
				
			||||||
                                            <action selector="upgradeVolto:" destination="nkY-z6-8jd" eventType="touchUpInside" id="8KJ-vm-3D0"/>
 | 
					                                            <action selector="upgradeSpectre:" destination="nkY-z6-8jd" eventType="touchUpInside" id="8KJ-vm-3D0"/>
 | 
				
			||||||
                                        </connections>
 | 
					                                        </connections>
 | 
				
			||||||
                                    </button>
 | 
					                                    </button>
 | 
				
			||||||
                                    <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="XgC-Ky-oVC">
 | 
					                                    <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="XgC-Ky-oVC">
 | 
				
			||||||
                                        <rect key="frame" x="80" y="15" width="315" height="84"/>
 | 
					                                        <rect key="frame" x="80" y="15" width="315" height="84"/>
 | 
				
			||||||
                                        <string key="text">The next generation of password security is now called «Volto»:
 | 
					                                        <string key="text">The next generation of password security is now called «Spectre»:
 | 
				
			||||||
Tap to install the upgrade.
 | 
					Tap to install the upgrade.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This app is now out of maintenance.</string>
 | 
					This app is now out of maintenance.</string>
 | 
				
			||||||
@@ -1711,13 +1711,13 @@ This app is now out of maintenance.</string>
 | 
				
			|||||||
                                        <rect key="frame" x="8" y="8" width="398" height="106"/>
 | 
					                                        <rect key="frame" x="8" y="8" width="398" height="106"/>
 | 
				
			||||||
                                        <state key="normal" backgroundImage="tip_alert_black"/>
 | 
					                                        <state key="normal" backgroundImage="tip_alert_black"/>
 | 
				
			||||||
                                        <connections>
 | 
					                                        <connections>
 | 
				
			||||||
                                            <action selector="upgradeVolto:" destination="nkY-z6-8jd" eventType="touchUpInside" id="P4a-tL-9yX"/>
 | 
					                                            <action selector="upgradeSpectre:" destination="nkY-z6-8jd" eventType="touchUpInside" id="P4a-tL-9yX"/>
 | 
				
			||||||
                                        </connections>
 | 
					                                        </connections>
 | 
				
			||||||
                                    </button>
 | 
					                                    </button>
 | 
				
			||||||
                                    <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="fLB-gA-32p">
 | 
					                                    <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="fLB-gA-32p">
 | 
				
			||||||
                                        <rect key="frame" x="80" y="15" width="315" height="84"/>
 | 
					                                        <rect key="frame" x="80" y="15" width="315" height="84"/>
 | 
				
			||||||
                                        <string key="text">The next generation of password security is now called «Volto»:
 | 
					                                        <string key="text">The next generation of password security is now called «Spectre»:
 | 
				
			||||||
Tap to copy this user into Volto.
 | 
					Tap to copy this user into Spectre.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This app is now out of maintenance.</string>
 | 
					This app is now out of maintenance.</string>
 | 
				
			||||||
                                        <fontDescription key="fontDescription" name="Exo2.0-Regular" family="Exo 2.0" pointSize="14"/>
 | 
					                                        <fontDescription key="fontDescription" name="Exo2.0-Regular" family="Exo 2.0" pointSize="14"/>
 | 
				
			||||||
@@ -1816,8 +1816,8 @@ This app is now out of maintenance.</string>
 | 
				
			|||||||
                        <outlet property="popdownView" destination="XNM-XQ-rMe" id="FaW-4m-Fff"/>
 | 
					                        <outlet property="popdownView" destination="XNM-XQ-rMe" id="FaW-4m-Fff"/>
 | 
				
			||||||
                        <outlet property="searchBar" destination="aGs-1S-aC3" id="rTp-DP-rIz"/>
 | 
					                        <outlet property="searchBar" destination="aGs-1S-aC3" id="rTp-DP-rIz"/>
 | 
				
			||||||
                        <outlet property="sitesToBottomConstraint" destination="dNt-uf-8BC" id="Ta6-eL-z7w"/>
 | 
					                        <outlet property="sitesToBottomConstraint" destination="dNt-uf-8BC" id="Ta6-eL-z7w"/>
 | 
				
			||||||
                        <outlet property="voltoInstallAlert" destination="3ve-eR-1IW" id="Ah5-OX-XhQ"/>
 | 
					                        <outlet property="spectreInstallAlert" destination="3ve-eR-1IW" id="Ah5-OX-XhQ"/>
 | 
				
			||||||
                        <outlet property="voltoMigrateAlert" destination="67c-5R-Foa" id="aTi-fu-opO"/>
 | 
					                        <outlet property="spectreMigrateAlert" destination="67c-5R-Foa" id="aTi-fu-opO"/>
 | 
				
			||||||
                        <segue destination="z9O-w0-6oR" kind="modal" identifier="guide" id="Ql4-wf-T8u"/>
 | 
					                        <segue destination="z9O-w0-6oR" kind="modal" identifier="guide" id="Ql4-wf-T8u"/>
 | 
				
			||||||
                        <segue destination="Foa-Er-RBr" kind="custom" identifier="message" customClass="MPOverlaySegue" id="Xne-Sm-HQt"/>
 | 
					                        <segue destination="Foa-Er-RBr" kind="custom" identifier="message" customClass="MPOverlaySegue" id="Xne-Sm-HQt"/>
 | 
				
			||||||
                    </connections>
 | 
					                    </connections>
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user