Merge branch 'mkirk/disappear-from-lock-screen'

This commit is contained in:
Michael Kirk 2017-07-14 09:48:53 -04:00
commit 847a0ff8ba
3 changed files with 33 additions and 13 deletions

View file

@ -8,6 +8,7 @@
#import "OWSContactsManager.h"
#import "PropertyListPreferences.h"
#import "Signal-Swift.h"
#import "ThreadUtil.h"
#import <SignalServiceKit/NSDate+millisecondTimeStamp.h>
#import <SignalServiceKit/OWSMessageSender.h>
#import <SignalServiceKit/OWSSignalService.h>
@ -147,16 +148,16 @@ NSString *const Signal_Message_MarkAsRead_Identifier = @"Signal_Message_MarkAsRe
if (threadId) {
TSThread *thread = [TSThread fetchObjectWithUniqueID:threadId];
TSOutgoingMessage *message =
[[TSOutgoingMessage alloc] initWithTimestamp:[NSDate ows_millisecondTimeStamp]
inThread:thread
messageBody:responseInfo[UIUserNotificationActionResponseTypedTextKey]];
[self.messageSender sendMessage:message
NSString *replyText = responseInfo[UIUserNotificationActionResponseTypedTextKey];
[ThreadUtil sendMessageWithText:replyText
inThread:thread
messageSender:self.messageSender
success:^{
// TODO do we really want to mark them all as read?
[self markAllInThreadAsRead:notification.userInfo completionHandler:completionHandler];
}
failure:^(NSError *error) {
failure:^(NSError *_Nonnull error) {
// TODO Surface the specific error in the notification?
DDLogError(@"Message send failed with error: %@", error);

View file

@ -48,6 +48,12 @@ NS_ASSUME_NONNULL_BEGIN
@interface ThreadUtil : NSObject
+ (TSOutgoingMessage *)sendMessageWithText:(NSString *)text
inThread:(TSThread *)thread
messageSender:(OWSMessageSender *)messageSender
success:(void (^)())successHandler
failure:(void (^)(NSError *error))failureHandler;
+ (TSOutgoingMessage *)sendMessageWithText:(NSString *)text
inThread:(TSThread *)thread
messageSender:(OWSMessageSender *)messageSender;

View file

@ -48,6 +48,24 @@ NS_ASSUME_NONNULL_BEGIN
+ (TSOutgoingMessage *)sendMessageWithText:(NSString *)text
inThread:(TSThread *)thread
messageSender:(OWSMessageSender *)messageSender
{
return [self sendMessageWithText:text
inThread:thread
messageSender:messageSender
success:^{
DDLogInfo(@"%@ Successfully sent message.", self.tag);
}
failure:^(NSError *error) {
DDLogWarn(@"%@ Failed to deliver message with error: %@", self.tag, error);
}];
}
+ (TSOutgoingMessage *)sendMessageWithText:(NSString *)text
inThread:(TSThread *)thread
messageSender:(OWSMessageSender *)messageSender
success:(void (^)())successHandler
failure:(void (^)(NSError *error))failureHandler
{
OWSAssert([NSThread isMainThread]);
OWSAssert(text.length > 0);
@ -62,13 +80,8 @@ NS_ASSUME_NONNULL_BEGIN
messageBody:text
attachmentIds:[NSMutableArray new]
expiresInSeconds:(configuration.isEnabled ? configuration.durationSeconds : 0)];
[messageSender sendMessage:message
success:^{
DDLogInfo(@"%@ Successfully sent message.", self.tag);
}
failure:^(NSError *error) {
DDLogWarn(@"%@ Failed to deliver message with error: %@", self.tag, error);
}];
[messageSender sendMessage:message success:successHandler failure:failureHandler];
return message;
}