Fix some pairing glitches and add a cancel button

This commit is contained in:
Cameron Gutman
2016-10-21 12:07:29 -07:00
parent fd50b71b16
commit ce95f2c153
2 changed files with 20 additions and 12 deletions

View File

@@ -68,12 +68,15 @@
}
NSInteger pairedStatus;
if (![pairResp getIntTag:@"paired" value:&pairedStatus] || !pairedStatus) {
[_httpManager executeRequestSynchronously:[HttpRequest requestWithUrlRequest:[_httpManager newUnpairRequest]]];
[_callback pairFailed:@"Pairing was declined by the target."];
return;
}
NSString* plainCert = [pairResp getStringTag:@"plaincert"];
if ([plainCert length] == 0) {
[_callback pairFailed:@"Another pairing attempt is already in progress."];
return;
}
CryptoManager* cryptoMan = [[CryptoManager alloc] init];
NSData* aesKey;

View File

@@ -48,21 +48,26 @@ static NSMutableSet* hostList;
_pairAlert = [UIAlertController alertControllerWithTitle:@"Pairing"
message:[NSString stringWithFormat:@"Enter the following PIN on the host machine: %@", PIN]
preferredStyle:UIAlertControllerStyleAlert];
[_pairAlert addAction:[UIAlertAction actionWithTitle:@"Cancel" style:UIAlertActionStyleDestructive handler:^(UIAlertAction* action) {
[_discMan startDiscovery];
[self hideLoadingFrame];
}]];
[self presentViewController:_pairAlert animated:YES completion:nil];
});
}
- (void)pairFailed:(NSString *)message {
dispatch_async(dispatch_get_main_queue(), ^{
[_pairAlert dismissViewControllerAnimated:YES completion:nil];
_pairAlert = [UIAlertController alertControllerWithTitle:@"Pairing Failed"
message:message
preferredStyle:UIAlertControllerStyleAlert];
[_pairAlert addAction:[UIAlertAction actionWithTitle:@"Ok" style:UIAlertActionStyleDestructive handler:nil]];
[self presentViewController:_pairAlert animated:YES completion:nil];
[_discMan startDiscovery];
[self hideLoadingFrame];
[_pairAlert dismissViewControllerAnimated:YES completion:^{
_pairAlert = [UIAlertController alertControllerWithTitle:@"Pairing Failed"
message:message
preferredStyle:UIAlertControllerStyleAlert];
[_pairAlert addAction:[UIAlertAction actionWithTitle:@"Ok" style:UIAlertActionStyleDestructive handler:nil]];
[self presentViewController:_pairAlert animated:YES completion:nil];
[_discMan startDiscovery];
[self hideLoadingFrame];
}];
});
}
@@ -581,8 +586,8 @@ static NSMutableSet* hostList;
-(void)handleReturnToForeground
{
// This will refresh the applist
if (_selectedHost != nil) {
// This will refresh the applist when a paired host is selected
if (_selectedHost != nil && _selectedHost.pairState == PairStatePaired) {
[self hostClicked:_selectedHost view:nil];
}
}