diff --git a/Podfile.lock b/Podfile.lock
index 74ec3dd82..5cdbd1773 100644
--- a/Podfile.lock
+++ b/Podfile.lock
@@ -135,7 +135,7 @@ EXTERNAL SOURCES:
CHECKOUT OPTIONS:
SignalServiceKit:
- :commit: 5ebffa3406425e56ce3d7c39f4857a88de77bd8e
+ :commit: c274e3aa30ed07c5166f1bd3bec7097bafab8dc4
:git: https://github.com/WhisperSystems/SignalServiceKit.git
SocketRocket:
:commit: 41b57bb2fc292a814f758441a05243eb38457027
diff --git a/Signal/Signal-Info.plist b/Signal/Signal-Info.plist
index 2f5c3fc7f..fe375b578 100644
--- a/Signal/Signal-Info.plist
+++ b/Signal/Signal-Info.plist
@@ -38,7 +38,7 @@
CFBundleVersion
- 2.6.0.10
+ 2.6.0.11
ITSAppUsesNonExemptEncryption
LOGS_EMAIL
diff --git a/Signal/src/Models/OWSCall.m b/Signal/src/Models/OWSCall.m
index 922bf034a..94ba2e0ef 100644
--- a/Signal/src/Models/OWSCall.m
+++ b/Signal/src/Models/OWSCall.m
@@ -9,7 +9,8 @@
// -- Redeclaring properties from OWSMessageData protocol to synthesize variables
@property (nonatomic) TSMessageAdapterType messageType;
-@property (nonatomic, getter=isExpiringMessage) BOOL expiringMessage;
+@property (nonatomic) BOOL isExpiringMessage;
+@property (nonatomic) BOOL shouldStartExpireTimer;
@property (nonatomic) uint64_t expiresAtSeconds;
@property (nonatomic) uint32_t expiresInSeconds;
@@ -47,7 +48,8 @@
_senderDisplayName = [senderDisplayName copy];
_date = [date copy];
_status = status;
- _expiringMessage = NO; // TODO - call notifications should expire too.
+ _isExpiringMessage = NO; // TODO - call notifications should expire too.
+ _shouldStartExpireTimer = NO; // TODO - call notifications should expire too.
_messageType = TSCallAdapter;
// TODO interpret detailString from status. make sure it works for calls and
diff --git a/Signal/src/Models/TSMessageAdapaters/OWSMessageData.h b/Signal/src/Models/TSMessageAdapaters/OWSMessageData.h
index 99189ec93..21b132d64 100644
--- a/Signal/src/Models/TSMessageAdapaters/OWSMessageData.h
+++ b/Signal/src/Models/TSMessageAdapaters/OWSMessageData.h
@@ -19,7 +19,8 @@ typedef NS_ENUM(NSInteger, TSMessageAdapterType) {
@protocol OWSMessageData
@property (nonatomic, readonly) TSMessageAdapterType messageType;
-@property (nonatomic, readonly, getter=isExpiringMessage) BOOL expiringMessage;
+@property (nonatomic, readonly) BOOL isExpiringMessage;
+@property (nonatomic, readonly) BOOL shouldStartExpireTimer;
@property (nonatomic, readonly) uint64_t expiresAtSeconds;
@property (nonatomic, readonly) uint32_t expiresInSeconds;
diff --git a/Signal/src/Models/TSMessageAdapaters/TSMessageAdapter.m b/Signal/src/Models/TSMessageAdapaters/TSMessageAdapter.m
index e2abc1c0a..9c5ead1cd 100644
--- a/Signal/src/Models/TSMessageAdapaters/TSMessageAdapter.m
+++ b/Signal/src/Models/TSMessageAdapaters/TSMessageAdapter.m
@@ -50,7 +50,8 @@
// -- Redeclaring properties from OWSMessageData protocol to synthesize variables
@property (nonatomic) TSMessageAdapterType messageType;
-@property (nonatomic, getter=isExpiringMessage) BOOL expiringMessage;
+@property (nonatomic) BOOL isExpiringMessage;
+@property (nonatomic) BOOL shouldStartExpireTimer;
@property (nonatomic) uint64_t expiresAtSeconds;
@property (nonatomic) uint32_t expiresInSeconds;
@@ -79,11 +80,12 @@
if ([interaction isKindOfClass:[TSMessage class]]) {
TSMessage *message = (TSMessage *)interaction;
- _expiringMessage = message.isExpiringMessage;
+ _isExpiringMessage = message.isExpiringMessage;
_expiresAtSeconds = message.expiresAt / 1000;
_expiresInSeconds = message.expiresInSeconds;
+ _shouldStartExpireTimer = message.shouldStartExpireTimer;
} else {
- _expiringMessage = NO;
+ _isExpiringMessage = NO;
}
return self;
diff --git a/Signal/src/view controllers/MessagesViewController.m b/Signal/src/view controllers/MessagesViewController.m
index 5e3f45150..568162c25 100644
--- a/Signal/src/view controllers/MessagesViewController.m
+++ b/Signal/src/view controllers/MessagesViewController.m
@@ -738,7 +738,7 @@ typedef enum : NSUInteger {
}
cell.delegate = collectionView;
- if (message.isExpiringMessage && [cell conformsToProtocol:@protocol(OWSExpirableMessageView)]) {
+ if (message.shouldStartExpireTimer && [cell conformsToProtocol:@protocol(OWSExpirableMessageView)]) {
id expirableView = (id)cell;
[expirableView startExpirationTimerWithExpiresAtSeconds:message.expiresAtSeconds
initialDurationSeconds:message.expiresInSeconds];
@@ -1864,9 +1864,6 @@ typedef enum : NSUInteger {
return messageAdapter;
}
-#pragma mark group action view
-
-
#pragma mark - Audio
- (void)recordAudio {
@@ -1963,7 +1960,6 @@ typedef enum : NSUInteger {
canPerformAction:(SEL)action
forItemAtIndexPath:(NSIndexPath *)indexPath
withSender:(id)sender {
-
TSMessageAdapter *messageAdapter = [self messageAtIndexPath:indexPath];
// HACK make sure method exists before calling since messageAtIndexPath doesn't
// always return TSMessageAdapters - it can also return JSQCall!