Don't expire messages until they are sent.

// FREEBIE
pull/1/head
Michael Kirk 9 years ago
parent 2b2ebbe099
commit dc95d328cb

@ -135,7 +135,7 @@ EXTERNAL SOURCES:
CHECKOUT OPTIONS:
SignalServiceKit:
:commit: 5ebffa3406425e56ce3d7c39f4857a88de77bd8e
:commit: c274e3aa30ed07c5166f1bd3bec7097bafab8dc4
:git: https://github.com/WhisperSystems/SignalServiceKit.git
SocketRocket:
:commit: 41b57bb2fc292a814f758441a05243eb38457027

@ -38,7 +38,7 @@
</dict>
</array>
<key>CFBundleVersion</key>
<string>2.6.0.10</string>
<string>2.6.0.11</string>
<key>ITSAppUsesNonExemptEncryption</key>
<false/>
<key>LOGS_EMAIL</key>

@ -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

@ -19,7 +19,8 @@ typedef NS_ENUM(NSInteger, TSMessageAdapterType) {
@protocol OWSMessageData <JSQMessageData, OWSMessageEditing>
@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;

@ -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;

@ -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<OWSExpirableMessageView> expirableView = (id<OWSExpirableMessageView>)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!

Loading…
Cancel
Save