mirror of
https://github.com/oxen-io/session-ios.git
synced 2023-12-13 21:30:14 +01:00
Merge branch 'mkirk/fix-invite-sms' into release/2.18.0
This commit is contained in:
commit
0a19e0715a
2 changed files with 29 additions and 29 deletions
|
@ -16,7 +16,7 @@ class InviteFlow: NSObject, MFMessageComposeViewControllerDelegate, MFMailCompos
|
|||
let TAG = "[ShareActions]"
|
||||
|
||||
let installUrl = "https://signal.org/install/"
|
||||
let homepageUrl = "https://whispersystems.org"
|
||||
let homepageUrl = "https://signal.org"
|
||||
|
||||
let actionSheetController: UIAlertController
|
||||
let presentingViewController: UIViewController
|
||||
|
@ -98,7 +98,7 @@ class InviteFlow: NSObject, MFMessageComposeViewControllerDelegate, MFMailCompos
|
|||
switch inviteChannel {
|
||||
case .message:
|
||||
let phoneNumbers: [String] = contacts.map { $0.userTextPhoneNumbers.first }.filter { $0 != nil }.map { $0! }
|
||||
sendSMSTo(phoneNumbers: phoneNumbers)
|
||||
dismissAndSendSMSTo(phoneNumbers: phoneNumbers)
|
||||
case .mail:
|
||||
let recipients: [String] = contacts.map { $0.emails.first }.filter { $0 != nil }.map { $0! }
|
||||
sendMailTo(emails: recipients)
|
||||
|
@ -144,26 +144,30 @@ class InviteFlow: NSObject, MFMessageComposeViewControllerDelegate, MFMailCompos
|
|||
}
|
||||
}
|
||||
|
||||
func sendSMSTo(phoneNumbers: [String]) {
|
||||
public func dismissAndSendSMSTo(phoneNumbers: [String]) {
|
||||
self.presentingViewController.dismiss(animated: true) {
|
||||
if #available(iOS 10.0, *) {
|
||||
// iOS10 message compose view doesn't respect some system appearence attributes.
|
||||
// Specifically, the title is white, but the navbar is gray.
|
||||
// So, we have to set system appearence before init'ing the message compose view controller in order
|
||||
// to make its colors legible.
|
||||
// Then we have to be sure to set it back in the ComposeViewControllerDelegate callback.
|
||||
UIUtil.applyDefaultSystemAppearence()
|
||||
}
|
||||
let messageComposeViewController = MFMessageComposeViewController()
|
||||
messageComposeViewController.messageComposeDelegate = self
|
||||
messageComposeViewController.recipients = phoneNumbers
|
||||
|
||||
let inviteText = NSLocalizedString("SMS_INVITE_BODY", comment:"body sent to contacts when inviting to Install Signal")
|
||||
messageComposeViewController.body = inviteText.appending(" \(self.installUrl)")
|
||||
self.presentingViewController.navigationController?.present(messageComposeViewController, animated:true)
|
||||
self.sendSMSTo(phoneNumbers: phoneNumbers)
|
||||
}
|
||||
}
|
||||
|
||||
public func sendSMSTo(phoneNumbers: [String]) {
|
||||
if #available(iOS 10.0, *) {
|
||||
// iOS10 message compose view doesn't respect some system appearence attributes.
|
||||
// Specifically, the title is white, but the navbar is gray.
|
||||
// So, we have to set system appearence before init'ing the message compose view controller in order
|
||||
// to make its colors legible.
|
||||
// Then we have to be sure to set it back in the ComposeViewControllerDelegate callback.
|
||||
UIUtil.applyDefaultSystemAppearence()
|
||||
}
|
||||
let messageComposeViewController = MFMessageComposeViewController()
|
||||
messageComposeViewController.messageComposeDelegate = self
|
||||
messageComposeViewController.recipients = phoneNumbers
|
||||
|
||||
let inviteText = NSLocalizedString("SMS_INVITE_BODY", comment:"body sent to contacts when inviting to Install Signal")
|
||||
messageComposeViewController.body = inviteText.appending(" \(self.installUrl)")
|
||||
self.presentingViewController.navigationController?.present(messageComposeViewController, animated:true)
|
||||
}
|
||||
|
||||
// MARK: MessageComposeViewControllerDelegate
|
||||
|
||||
func messageComposeViewController(_ controller: MFMessageComposeViewController, didFinishWith result: MessageComposeResult) {
|
||||
|
|
|
@ -722,6 +722,11 @@ NS_ASSUME_NONNULL_BEGIN
|
|||
|
||||
- (void)sendTextToPhoneNumber:(NSString *)phoneNumber
|
||||
{
|
||||
|
||||
OWSInviteFlow *inviteFlow =
|
||||
[[OWSInviteFlow alloc] initWithPresentingViewController:self
|
||||
contactsManager:self.contactsViewHelper.contactsManager];
|
||||
|
||||
OWSAssert([phoneNumber length] > 0);
|
||||
NSString *confirmMessage = NSLocalizedString(@"SEND_SMS_CONFIRM_TITLE", @"");
|
||||
if ([phoneNumber length] > 0) {
|
||||
|
@ -739,18 +744,8 @@ NS_ASSUME_NONNULL_BEGIN
|
|||
style:UIAlertActionStyleDefault
|
||||
handler:^(UIAlertAction *action) {
|
||||
[self.searchBar resignFirstResponder];
|
||||
|
||||
if ([MFMessageComposeViewController canSendText]) {
|
||||
MFMessageComposeViewController *picker = [[MFMessageComposeViewController alloc] init];
|
||||
picker.messageComposeDelegate = self;
|
||||
|
||||
picker.recipients = @[
|
||||
phoneNumber,
|
||||
];
|
||||
picker.body = [NSLocalizedString(@"SMS_INVITE_BODY", @"")
|
||||
stringByAppendingString:
|
||||
@" https://itunes.apple.com/us/app/signal-private-messenger/id874139669?mt=8"];
|
||||
[self presentViewController:picker animated:YES completion:[UIUtil modalCompletionBlock]];
|
||||
[inviteFlow sendSMSToPhoneNumbers:@[ phoneNumber ]];
|
||||
} else {
|
||||
[OWSAlerts showAlertWithTitle:NSLocalizedString(@"ALERT_ERROR_TITLE", @"")
|
||||
message:NSLocalizedString(@"UNSUPPORTED_FEATURE_ERROR", @"")];
|
||||
|
@ -760,6 +755,7 @@ NS_ASSUME_NONNULL_BEGIN
|
|||
[alertController addAction:[OWSAlerts cancelAction]];
|
||||
[alertController addAction:okAction];
|
||||
self.searchBar.text = @"";
|
||||
[self searchTextDidChange];
|
||||
|
||||
// must dismiss search controller before presenting alert.
|
||||
if ([self presentedViewController]) {
|
||||
|
|
Loading…
Reference in a new issue