mirror of
https://github.com/oxen-io/session-ios.git
synced 2023-12-13 21:30:14 +01:00
67 lines
1.7 KiB
Mathematica
67 lines
1.7 KiB
Mathematica
|
//
|
||
|
// Copyright (c) 2017 Open Whisper Systems. All rights reserved.
|
||
|
//
|
||
|
|
||
|
#import "SendExternalFileViewController.h"
|
||
|
#import "Environment.h"
|
||
|
#import "Signal-Swift.h"
|
||
|
#import "ThreadUtil.h"
|
||
|
#import <SignalServiceKit/OWSMessageSender.h>
|
||
|
#import <SignalServiceKit/TSThread.h>
|
||
|
|
||
|
@interface SendExternalFileViewController () <SelectThreadViewControllerDelegate>
|
||
|
|
||
|
@property (nonatomic, readonly) OWSMessageSender *messageSender;
|
||
|
|
||
|
@end
|
||
|
|
||
|
@implementation SendExternalFileViewController
|
||
|
|
||
|
- (void)loadView
|
||
|
{
|
||
|
[super loadView];
|
||
|
|
||
|
self.delegate = self;
|
||
|
|
||
|
_messageSender = [Environment getCurrent].messageSender;
|
||
|
|
||
|
self.title = NSLocalizedString(@"SEND_EXTERNAL_FILE_VIEW_TITLE", @"Title for the 'send external file' view.");
|
||
|
}
|
||
|
|
||
|
#pragma mark - SelectThreadViewControllerDelegate
|
||
|
|
||
|
- (void)threadWasSelected:(TSThread *)thread
|
||
|
{
|
||
|
OWSAssert(self.attachment);
|
||
|
OWSAssert(thread);
|
||
|
|
||
|
// We should have a valid filename.
|
||
|
OWSAssert(self.attachment.filename.length > 0);
|
||
|
NSString *fileExtension = [self.attachment.filename pathExtension].lowercaseString;
|
||
|
OWSAssert(fileExtension.length > 0);
|
||
|
NSSet<NSString *> *textExtensions = [NSSet setWithArray:@[
|
||
|
@"txt",
|
||
|
@"url",
|
||
|
]];
|
||
|
NSString *text = nil;
|
||
|
if ([textExtensions containsObject:fileExtension]) {
|
||
|
text = [[NSString alloc] initWithData:self.attachment.data encoding:NSUTF8StringEncoding];
|
||
|
OWSAssert(text);
|
||
|
}
|
||
|
|
||
|
if (text) {
|
||
|
[ThreadUtil sendMessageWithText:text inThread:thread messageSender:self.messageSender];
|
||
|
} else {
|
||
|
[ThreadUtil sendMessageWithAttachment:self.attachment inThread:thread messageSender:self.messageSender];
|
||
|
}
|
||
|
|
||
|
[Environment messageThreadId:thread.uniqueId];
|
||
|
}
|
||
|
|
||
|
- (BOOL)canSelectBlockedContact
|
||
|
{
|
||
|
return NO;
|
||
|
}
|
||
|
|
||
|
@end
|