mirror of
https://github.com/oxen-io/session-ios.git
synced 2023-12-13 21:30:14 +01:00
Fix crash when viewing changed safety numbers
Instantiate fingerprintVC programmatically since MVC was not built from the storyboard and thus doesn't have it's storyboard-defined segues. // FREEBIE
This commit is contained in:
parent
e828001544
commit
9eb746a7a0
2 changed files with 21 additions and 40 deletions
|
@ -1,11 +1,11 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="11762" systemVersion="15G1217" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" colorMatched="YES" initialViewController="tuk-0x-yCb">
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="12118" systemVersion="16E195" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" colorMatched="YES" initialViewController="tuk-0x-yCb">
|
||||
<device id="retina4_7" orientation="portrait">
|
||||
<adaptation id="fullscreen"/>
|
||||
</device>
|
||||
<dependencies>
|
||||
<deployment identifier="iOS"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="11757"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="12086"/>
|
||||
<capability name="Aspect ratio constraints" minToolsVersion="5.1"/>
|
||||
<capability name="Constraints to layout margins" minToolsVersion="6.0"/>
|
||||
<capability name="Constraints with non-1.0 multipliers" minToolsVersion="5.1"/>
|
||||
|
@ -120,9 +120,6 @@
|
|||
</navigationItem>
|
||||
<connections>
|
||||
<outlet property="inputToolbar" destination="BdJ-vY-dHA" id="EfK-zI-nSM"/>
|
||||
<segue destination="4oU-Rv-yJi" kind="push" identifier="OWSMessagesViewControllerSeguePushConversationSettings" id="vOd-aS-6Wx"/>
|
||||
<segue destination="urv-62-RsD" kind="modal" identifier="fingerprintSegue" id="tfr-ZV-qWs"/>
|
||||
<segue destination="Tyf-mN-gzf" kind="modal" identifier="initiateCallSegue" modalTransitionStyle="crossDissolve" id="I6y-pT-nEd"/>
|
||||
</connections>
|
||||
</viewController>
|
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="yXZ-iE-5va" userLabel="First Responder" sceneMemberID="firstResponder"/>
|
||||
|
@ -1461,8 +1458,6 @@
|
|||
<simulatedScreenMetrics key="destination" type="retina4_7.fullscreen"/>
|
||||
</simulatedMetricsContainer>
|
||||
<inferredMetricsTieBreakers>
|
||||
<segue reference="wgA-Oo-kKq"/>
|
||||
<segue reference="D0d-4f-lcI"/>
|
||||
<segue reference="G2B-Fr-Ezs"/>
|
||||
<segue reference="E8S-Yc-X7E"/>
|
||||
</inferredMetricsTieBreakers>
|
||||
</document>
|
||||
|
|
|
@ -76,9 +76,6 @@
|
|||
|
||||
static NSTimeInterval const kTSMessageSentDateShowTimeInterval = 5 * 60;
|
||||
|
||||
static NSString *const OWSMessagesViewControllerSegueShowFingerprint = @"fingerprintSegue";
|
||||
static NSString *const OWSMessagesViewControllerSeguePushConversationSettings = @"OWSMessagesViewControllerSeguePushConversationSettings";
|
||||
|
||||
NSString *const OWSMessagesViewControllerDidAppearNotification = @"OWSMessagesViewControllerDidAppear";
|
||||
|
||||
typedef enum : NSUInteger {
|
||||
|
@ -819,7 +816,20 @@ typedef enum : NSUInteger {
|
|||
OWSFingerprint *fingerprint =
|
||||
[builder fingerprintWithTheirSignalId:theirSignalId theirIdentityKey:theirIdentityKey];
|
||||
[self markAllMessagesAsRead];
|
||||
[self performSegueWithIdentifier:OWSMessagesViewControllerSegueShowFingerprint sender:fingerprint];
|
||||
|
||||
NSString *contactName = [self.contactsManager displayNameForPhoneIdentifier:theirSignalId];
|
||||
|
||||
UIViewController *viewController =
|
||||
[[UIStoryboard main] instantiateViewControllerWithIdentifier:@"FingerprintViewController"];
|
||||
if (![viewController isKindOfClass:[FingerprintViewController class]]) {
|
||||
OWSAssert(NO);
|
||||
DDLogError(@"%@ expecting fingerprint view controller, but got: %@", self.tag, viewController);
|
||||
return;
|
||||
}
|
||||
FingerprintViewController *fingerprintViewController = (FingerprintViewController *)viewController;
|
||||
|
||||
[fingerprintViewController configureWithThread:self.thread fingerprint:fingerprint contactName:contactName];
|
||||
[self presentViewController:fingerprintViewController animated:YES completion:nil];
|
||||
}
|
||||
|
||||
#pragma mark - Calls
|
||||
|
@ -1328,9 +1338,9 @@ typedef enum : NSUInteger {
|
|||
DDLogDebug(@"%@ Ignoring request to show conversation settings, since user left group", self.tag);
|
||||
return;
|
||||
}
|
||||
|
||||
OWSConversationSettingsTableViewController *settingsVC = [[UIStoryboard storyboardWithName:AppDelegateStoryboardMain bundle:NULL]
|
||||
instantiateViewControllerWithIdentifier:@"OWSConversationSettingsTableViewController"];
|
||||
|
||||
OWSConversationSettingsTableViewController *settingsVC =
|
||||
[[UIStoryboard main] instantiateViewControllerWithIdentifier:@"OWSConversationSettingsTableViewController"];
|
||||
[settingsVC configureWithThread:self.thread];
|
||||
[self.navigationController pushViewController:settingsVC animated:YES];
|
||||
}
|
||||
|
@ -1846,30 +1856,6 @@ typedef enum : NSUInteger {
|
|||
[self presentViewController:actionSheetController animated:YES completion:nil];
|
||||
}
|
||||
|
||||
#pragma mark - Navigation
|
||||
|
||||
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
|
||||
if ([segue.identifier isEqualToString:OWSMessagesViewControllerSegueShowFingerprint]) {
|
||||
if (![segue.destinationViewController isKindOfClass:[FingerprintViewController class]]) {
|
||||
DDLogError(@"%@ Expected Fingerprint VC but got: %@", self.tag, segue.destinationViewController);
|
||||
return;
|
||||
}
|
||||
FingerprintViewController *vc = (FingerprintViewController *)segue.destinationViewController;
|
||||
|
||||
if (![sender isKindOfClass:[OWSFingerprint class]]) {
|
||||
DDLogError(@"%@ Attempting to segue to fingerprint VC without a valid fingerprint: %@", self.tag, sender);
|
||||
return;
|
||||
}
|
||||
OWSFingerprint *fingerprint = (OWSFingerprint *)sender;
|
||||
|
||||
NSString *contactName = [self.contactsManager displayNameForPhoneIdentifier:fingerprint.theirStableId];
|
||||
[vc configureWithThread:self.thread fingerprint:fingerprint contactName:contactName];
|
||||
} else {
|
||||
DDLogDebug(@"%@ Received segue: %@", self.tag, segue.identifier);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#pragma mark - UIImagePickerController
|
||||
|
||||
/*
|
||||
|
|
Loading…
Reference in a new issue