From 022292e2e54f0f240e2ab54eab705bfa3ce42e7a Mon Sep 17 00:00:00 2001 From: Michael Kirk Date: Wed, 7 Jun 2017 14:50:37 -0400 Subject: [PATCH] CR: extract method for readability // FREEBIE --- .../DebugUI/DebugUISessionState.m | 114 +++++++++--------- 1 file changed, 54 insertions(+), 60 deletions(-) diff --git a/Signal/src/ViewControllers/DebugUI/DebugUISessionState.m b/Signal/src/ViewControllers/DebugUI/DebugUISessionState.m index e39e34343..5439fd363 100644 --- a/Signal/src/ViewControllers/DebugUI/DebugUISessionState.m +++ b/Signal/src/ViewControllers/DebugUI/DebugUISessionState.m @@ -45,66 +45,10 @@ NS_ASSUME_NONNULL_BEGIN OWSAssert(flippedKey.length == currentKey.length); [identityManager saveRemoteIdentity:flippedKey recipientId:recipientId]; }], - [OWSTableItem - itemWithTitle:@"Set Verification State" - actionBlock:^{ - DDLogError(@"%@ Choosing verification state.", self.tag); - - NSString *title = [NSString - stringWithFormat:@"Choose verification state for %@", contactThread.name]; - UIAlertController *alertController = - [UIAlertController alertControllerWithTitle:title - message:nil - preferredStyle:UIAlertControllerStyleActionSheet]; - - NSString *recipientId = [contactThread contactIdentifier]; - OWSIdentityManager *identityManger = [OWSIdentityManager sharedManager]; - - [alertController - addAction:[UIAlertAction - actionWithTitle:@"Default" - style:UIAlertActionStyleDefault - handler:^(UIAlertAction *_Nonnull action) { - NSData *identityKey = [identityManger - identityKeyForRecipientId:recipientId]; - [[OWSIdentityManager sharedManager] - setVerificationState:OWSVerificationStateDefault - identityKey:identityKey - recipientId:recipientId - sendSyncMessage:NO]; - }]]; - [alertController - addAction:[UIAlertAction - actionWithTitle:@"Verified" - style:UIAlertActionStyleDefault - handler:^(UIAlertAction *_Nonnull action) { - NSData *identityKey = [identityManger - identityKeyForRecipientId:recipientId]; - [[OWSIdentityManager sharedManager] - setVerificationState:OWSVerificationStateVerified - identityKey:identityKey - recipientId:recipientId - sendSyncMessage:NO]; - }]]; - [alertController - addAction:[UIAlertAction actionWithTitle:@"No Longer Verified" - style:UIAlertActionStyleDefault - handler:^(UIAlertAction *_Nonnull action) { - NSData *identityKey = [identityManger - identityKeyForRecipientId:recipientId]; - [[OWSIdentityManager sharedManager] - setVerificationState: - OWSVerificationStateNoLongerVerified - identityKey:identityKey - recipientId:recipientId - sendSyncMessage:NO]; - }]]; - - [[UIApplication sharedApplication].frontmostViewController - presentViewController:alertController - animated:YES - completion:nil]; - }], + [OWSTableItem itemWithTitle:@"Set Verification State" + actionBlock:^{ + [self presentVerificationStatePickerForContactThread:contactThread]; + }], [OWSTableItem itemWithTitle:@"Delete session" actionBlock:^{ dispatch_async([OWSDispatch sessionStoreQueue], ^{ @@ -122,6 +66,56 @@ NS_ASSUME_NONNULL_BEGIN ]]; } ++ (void)presentVerificationStatePickerForContactThread:(TSContactThread *)contactThread +{ + DDLogError(@"%@ Choosing verification state.", self.tag); + + NSString *title = [NSString stringWithFormat:@"Choose verification state for %@", contactThread.name]; + UIAlertController *alertController = + [UIAlertController alertControllerWithTitle:title message:nil preferredStyle:UIAlertControllerStyleActionSheet]; + + NSString *recipientId = [contactThread contactIdentifier]; + OWSIdentityManager *identityManger = [OWSIdentityManager sharedManager]; + + [alertController addAction:[UIAlertAction actionWithTitle:@"Default" + style:UIAlertActionStyleDefault + handler:^(UIAlertAction *_Nonnull action) { + NSData *identityKey = + [identityManger identityKeyForRecipientId:recipientId]; + [[OWSIdentityManager sharedManager] + setVerificationState:OWSVerificationStateDefault + identityKey:identityKey + recipientId:recipientId + sendSyncMessage:NO]; + }]]; + [alertController addAction:[UIAlertAction actionWithTitle:@"Verified" + style:UIAlertActionStyleDefault + handler:^(UIAlertAction *_Nonnull action) { + NSData *identityKey = + [identityManger identityKeyForRecipientId:recipientId]; + [[OWSIdentityManager sharedManager] + setVerificationState:OWSVerificationStateVerified + identityKey:identityKey + recipientId:recipientId + sendSyncMessage:NO]; + }]]; + [alertController addAction:[UIAlertAction actionWithTitle:@"No Longer Verified" + style:UIAlertActionStyleDefault + handler:^(UIAlertAction *_Nonnull action) { + NSData *identityKey = + [identityManger identityKeyForRecipientId:recipientId]; + [[OWSIdentityManager sharedManager] + setVerificationState:OWSVerificationStateNoLongerVerified + identityKey:identityKey + recipientId:recipientId + sendSyncMessage:NO]; + }]]; + + [[UIApplication sharedApplication].frontmostViewController presentViewController:alertController + animated:YES + completion:nil]; +} + #pragma mark - Logging + (NSString *)tag