diff --git a/Podfile b/Podfile index 55d7dcd08..624665393 100644 --- a/Podfile +++ b/Podfile @@ -5,8 +5,8 @@ target 'Signal' do pod 'SocketRocket', :git => 'https://github.com/facebook/SocketRocket.git' pod 'AxolotlKit', git: 'https://github.com/WhisperSystems/SignalProtocolKit.git' #pod 'AxolotlKit', path: '../SignalProtocolKit' - pod 'SignalServiceKit', git: 'https://github.com/WhisperSystems/SignalServiceKit.git' - #pod 'SignalServiceKit', path: '../SignalServiceKit' + #pod 'SignalServiceKit', git: 'https://github.com/WhisperSystems/SignalServiceKit.git' + pod 'SignalServiceKit', path: '../SignalServiceKit' pod 'OpenSSL' pod 'JSQMessagesViewController', git: 'https://github.com/WhisperSystems/JSQMessagesViewController.git', branch: 'mkirk/position-edit-menu' #pod 'JSQMessagesViewController' path: '../JSQMessagesViewController' diff --git a/Podfile.lock b/Podfile.lock index 3b351500e..4b8ae2071 100644 --- a/Podfile.lock +++ b/Podfile.lock @@ -114,7 +114,7 @@ DEPENDENCIES: - OpenSSL - PureLayout - Reachability - - SignalServiceKit (from `https://github.com/WhisperSystems/SignalServiceKit.git`) + - SignalServiceKit (from `../SignalServiceKit`) - SocketRocket (from `https://github.com/facebook/SocketRocket.git`) EXTERNAL SOURCES: @@ -124,7 +124,7 @@ EXTERNAL SOURCES: :branch: mkirk/position-edit-menu :git: https://github.com/WhisperSystems/JSQMessagesViewController.git SignalServiceKit: - :git: https://github.com/WhisperSystems/SignalServiceKit.git + :path: ../SignalServiceKit SocketRocket: :git: https://github.com/facebook/SocketRocket.git @@ -135,9 +135,6 @@ CHECKOUT OPTIONS: JSQMessagesViewController: :commit: 7054e4b13ee5bcd6d524adb6dc9a726e8c466308 :git: https://github.com/WhisperSystems/JSQMessagesViewController.git - SignalServiceKit: - :commit: c7cc023541c9c7ee098f08f91949263fe0341625 - :git: https://github.com/WhisperSystems/SignalServiceKit.git SocketRocket: :commit: 877ac7438be3ad0b45ef5ca3969574e4b97112bf :git: https://github.com/facebook/SocketRocket.git @@ -164,6 +161,6 @@ SPEC CHECKSUMS: UnionFind: c33be5adb12983981d6e827ea94fc7f9e370f52d YapDatabase: cd911121580ff16675f65ad742a9eb0ab4d9e266 -PODFILE CHECKSUM: 48e80d7f1e049bbf544a689fdfdf33e8196c640a +PODFILE CHECKSUM: 6f9ef5d9fa17469569e127a9f5719dafa11631b9 COCOAPODS: 1.2.1 diff --git a/Signal/src/Models/OWSCall.m b/Signal/src/Models/OWSCall.m index dd035e38e..f945bae12 100644 --- a/Signal/src/Models/OWSCall.m +++ b/Signal/src/Models/OWSCall.m @@ -17,7 +17,7 @@ NS_ASSUME_NONNULL_BEGIN @property (nonatomic) TSMessageAdapterType messageType; @property (nonatomic) BOOL isExpiringMessage; @property (nonatomic) BOOL shouldStartExpireTimer; -@property (nonatomic) uint64_t expiresAtSeconds; +@property (nonatomic) double expiresAtSeconds; @property (nonatomic) uint32_t expiresInSeconds; @property (nonatomic) TSInteraction *interaction; diff --git a/Signal/src/Models/TSMessageAdapaters/OWSMessageData.h b/Signal/src/Models/TSMessageAdapaters/OWSMessageData.h index 697e58cf5..b30dd539e 100644 --- a/Signal/src/Models/TSMessageAdapaters/OWSMessageData.h +++ b/Signal/src/Models/TSMessageAdapaters/OWSMessageData.h @@ -24,7 +24,7 @@ typedef NS_ENUM(NSInteger, TSMessageAdapterType) { @property (nonatomic, readonly) TSInteraction *interaction; @property (nonatomic, readonly) BOOL isExpiringMessage; @property (nonatomic, readonly) BOOL shouldStartExpireTimer; -@property (nonatomic, readonly) uint64_t expiresAtSeconds; +@property (nonatomic, readonly) double expiresAtSeconds; @property (nonatomic, readonly) uint32_t expiresInSeconds; @end diff --git a/Signal/src/Models/TSMessageAdapaters/TSMessageAdapter.m b/Signal/src/Models/TSMessageAdapaters/TSMessageAdapter.m index 16d16ef79..3bd3ae9c6 100644 --- a/Signal/src/Models/TSMessageAdapaters/TSMessageAdapter.m +++ b/Signal/src/Models/TSMessageAdapaters/TSMessageAdapter.m @@ -54,7 +54,7 @@ NS_ASSUME_NONNULL_BEGIN @property (nonatomic) TSMessageAdapterType messageType; @property (nonatomic) BOOL isExpiringMessage; @property (nonatomic) BOOL shouldStartExpireTimer; -@property (nonatomic) uint64_t expiresAtSeconds; +@property (nonatomic) double expiresAtSeconds; @property (nonatomic) uint32_t expiresInSeconds; @property (nonatomic) NSDate *messageDate; @@ -83,7 +83,7 @@ NS_ASSUME_NONNULL_BEGIN if ([interaction isKindOfClass:[TSMessage class]]) { TSMessage *message = (TSMessage *)interaction; _isExpiringMessage = message.isExpiringMessage; - _expiresAtSeconds = message.expiresAt / 1000; + _expiresAtSeconds = message.expiresAt / 1000.0; _expiresInSeconds = message.expiresInSeconds; _shouldStartExpireTimer = message.shouldStartExpireTimer; } else { diff --git a/Signal/src/views/OWSExpirableMessageView.h b/Signal/src/views/OWSExpirableMessageView.h index ce4bbd87a..5706cd4cc 100644 --- a/Signal/src/views/OWSExpirableMessageView.h +++ b/Signal/src/views/OWSExpirableMessageView.h @@ -1,5 +1,6 @@ -// Created by Michael Kirk on 9/29/16. -// Copyright © 2016 Open Whisper Systems. All rights reserved. +// +// Copyright (c) 2017 Open Whisper Systems. All rights reserved. +// NS_ASSUME_NONNULL_BEGIN @@ -12,7 +13,7 @@ static const CGFloat OWSExpirableMessageViewTimerWidth = 10.0f; @property (strong, nonatomic, readonly) IBOutlet OWSExpirationTimerView *expirationTimerView; @property (strong, nonatomic, readonly) IBOutlet NSLayoutConstraint *expirationTimerViewWidthConstraint; -- (void)startExpirationTimerWithExpiresAtSeconds:(uint64_t)expiresAtSeconds +- (void)startExpirationTimerWithExpiresAtSeconds:(double)expiresAtSeconds initialDurationSeconds:(uint32_t)initialDurationSeconds; - (void)stopExpirationTimer; diff --git a/Signal/src/views/OWSExpirationTimerView.h b/Signal/src/views/OWSExpirationTimerView.h index b7a013ac7..e0cf596d0 100644 --- a/Signal/src/views/OWSExpirationTimerView.h +++ b/Signal/src/views/OWSExpirationTimerView.h @@ -1,5 +1,6 @@ -// Created by Michael Kirk on 9/29/16. -// Copyright © 2016 Open Whisper Systems. All rights reserved. +// +// Copyright (c) 2017 Open Whisper Systems. All rights reserved. +// #import @@ -7,8 +8,7 @@ NS_ASSUME_NONNULL_BEGIN @interface OWSExpirationTimerView : UIView -- (void)startTimerWithExpiresAtSeconds:(uint64_t)expiresAtSeconds - initialDurationSeconds:(uint32_t)initialDurationSeconds; +- (void)startTimerWithExpiresAtSeconds:(double)expiresAtSeconds initialDurationSeconds:(uint32_t)initialDurationSeconds; - (void)stopTimer; diff --git a/Signal/src/views/OWSExpirationTimerView.m b/Signal/src/views/OWSExpirationTimerView.m index 8c477855f..3234c9e23 100644 --- a/Signal/src/views/OWSExpirationTimerView.m +++ b/Signal/src/views/OWSExpirationTimerView.m @@ -1,5 +1,6 @@ -// Created by Michael Kirk on 9/29/16. -// Copyright © 2016 Open Whisper Systems. All rights reserved. +// +// Copyright (c) 2017 Open Whisper Systems. All rights reserved. +// #import "OWSExpirationTimerView.h" #import "MessagesViewController.h" @@ -14,7 +15,7 @@ double const OWSExpirationTimerViewBlinkingSeconds = 2; @interface OWSExpirationTimerView () @property (nonatomic) uint32_t initialDurationSeconds; -@property (atomic) uint64_t expiresAtSeconds; +@property (atomic) double expiresAtSeconds; @property (nonatomic, readonly) UIImageView *emptyHourglassImageView; @property (nonatomic, readonly) UIImageView *fullHourglassImageView; @@ -91,8 +92,7 @@ double const OWSExpirationTimerViewBlinkingSeconds = 2; [self startAnimation]; } -- (void)startTimerWithExpiresAtSeconds:(uint64_t)expiresAtSeconds - initialDurationSeconds:(uint32_t)initialDurationSeconds +- (void)startTimerWithExpiresAtSeconds:(double)expiresAtSeconds initialDurationSeconds:(uint32_t)initialDurationSeconds { if (expiresAtSeconds == 0) { DDLogWarn( @@ -101,7 +101,7 @@ double const OWSExpirationTimerViewBlinkingSeconds = 2; initialDurationSeconds); } - DDLogVerbose(@"%@ Starting timer with expiresAtSeconds: %llu initialDurationSeconds: %d", + DDLogVerbose(@"%@ Starting timer with expiresAtSeconds: %f initialDurationSeconds: %d", self.logTag, expiresAtSeconds, initialDurationSeconds); @@ -117,12 +117,12 @@ double const OWSExpirationTimerViewBlinkingSeconds = 2; - (void)startAnimation { - DDLogVerbose(@"%@ Starting animation with expiresAtSeconds: %llu initialDurationSeconds: %d", + DDLogVerbose(@"%@ Starting animation with expiresAtSeconds: %f initialDurationSeconds: %d", self.logTag, self.expiresAtSeconds, self.initialDurationSeconds); - double secondsLeft = (double)self.expiresAtSeconds - [NSDate new].timeIntervalSince1970; + double secondsLeft = self.expiresAtSeconds - [NSDate new].timeIntervalSince1970; if (secondsLeft < 0) { secondsLeft = 0; @@ -186,7 +186,7 @@ double const OWSExpirationTimerViewBlinkingSeconds = 2; - (BOOL)itIsTimeToBlink { - double secondsLeft = (double)self.expiresAtSeconds - [NSDate new].timeIntervalSince1970; + double secondsLeft = self.expiresAtSeconds - [NSDate new].timeIntervalSince1970; return secondsLeft <= OWSExpirationTimerViewBlinkingSeconds; } diff --git a/Signal/src/views/OWSIncomingMessageCollectionViewCell.m b/Signal/src/views/OWSIncomingMessageCollectionViewCell.m index 6d3378980..1b2a71809 100644 --- a/Signal/src/views/OWSIncomingMessageCollectionViewCell.m +++ b/Signal/src/views/OWSIncomingMessageCollectionViewCell.m @@ -55,7 +55,7 @@ NS_ASSUME_NONNULL_BEGIN // pragma mark - OWSExpirableMessageView -- (void)startExpirationTimerWithExpiresAtSeconds:(uint64_t)expiresAtSeconds +- (void)startExpirationTimerWithExpiresAtSeconds:(double)expiresAtSeconds initialDurationSeconds:(uint32_t)initialDurationSeconds { self.expirationTimerViewWidthConstraint.constant = OWSExpirableMessageViewTimerWidth; diff --git a/Signal/src/views/OWSOutgoingMessageCollectionViewCell.m b/Signal/src/views/OWSOutgoingMessageCollectionViewCell.m index 186fbabc3..d5c431763 100644 --- a/Signal/src/views/OWSOutgoingMessageCollectionViewCell.m +++ b/Signal/src/views/OWSOutgoingMessageCollectionViewCell.m @@ -61,7 +61,7 @@ NS_ASSUME_NONNULL_BEGIN // pragma mark - OWSExpirableMessageView -- (void)startExpirationTimerWithExpiresAtSeconds:(uint64_t)expiresAtSeconds +- (void)startExpirationTimerWithExpiresAtSeconds:(double)expiresAtSeconds initialDurationSeconds:(uint32_t)initialDurationSeconds { self.expirationTimerViewWidthConstraint.constant = OWSExpirableMessageViewTimerWidth;