Respond to post-holiday code reviews.

// FREEBIE
This commit is contained in:
Matthew Chen 2017-06-15 15:19:33 -04:00
parent f4ae0dbbab
commit bd440f0878
13 changed files with 50 additions and 80 deletions

View File

@ -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 'JSQMessagesViewController', git: 'https://github.com/WhisperSystems/JSQMessagesViewController.git', branch: 'mkirk/position-edit-menu'
#pod 'JSQMessagesViewController' path: '../JSQMessagesViewController'
pod 'PureLayout'

View File

@ -112,7 +112,7 @@ DEPENDENCIES:
- JSQMessagesViewController (from `https://github.com/WhisperSystems/JSQMessagesViewController.git`, branch `mkirk/position-edit-menu`)
- PureLayout
- Reachability
- SignalServiceKit (from `https://github.com/WhisperSystems/SignalServiceKit.git`)
- SignalServiceKit (from `../SignalServiceKit`)
- SocketRocket (from `https://github.com/facebook/SocketRocket.git`)
EXTERNAL SOURCES:
@ -122,7 +122,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
@ -133,9 +133,6 @@ CHECKOUT OPTIONS:
JSQMessagesViewController:
:commit: 7054e4b13ee5bcd6d524adb6dc9a726e8c466308
:git: https://github.com/WhisperSystems/JSQMessagesViewController.git
SignalServiceKit:
:commit: a9bac8bce7ea3a0209024d0b0a937d45748aea97
:git: https://github.com/WhisperSystems/SignalServiceKit.git
SocketRocket:
:commit: 877ac7438be3ad0b45ef5ca3969574e4b97112bf
:git: https://github.com/facebook/SocketRocket.git
@ -161,6 +158,6 @@ SPEC CHECKSUMS:
UnionFind: c33be5adb12983981d6e827ea94fc7f9e370f52d
YapDatabase: cd911121580ff16675f65ad742a9eb0ab4d9e266
PODFILE CHECKSUM: 89fd7aee1e2b0ca592ecc9dba0389e57b70f959b
PODFILE CHECKSUM: 6e5d90a9603eb043b395213fd8a29037d2276a8f
COCOAPODS: 1.2.1

View File

@ -38,8 +38,8 @@ NS_ASSUME_NONNULL_BEGIN
@interface OWSMessagesBubblesSizeCalculator ()
@property (nonatomic) OWSSystemMessageCell *referenceSystemMessageCell;
@property (nonatomic) OWSUnreadIndicatorCell *referenceUnreadIndicatorCell;
@property (nonatomic, readonly) OWSSystemMessageCell *referenceSystemMessageCell;
@property (nonatomic, readonly) OWSUnreadIndicatorCell *referenceUnreadIndicatorCell;
@end
@ -120,7 +120,7 @@ NS_ASSUME_NONNULL_BEGIN
}
if (!self.referenceSystemMessageCell) {
self.referenceSystemMessageCell = [OWSSystemMessageCell new];
_referenceSystemMessageCell = [OWSSystemMessageCell new];
}
CGSize result = [self.referenceSystemMessageCell cellSizeForInteraction:interaction
@ -144,7 +144,7 @@ NS_ASSUME_NONNULL_BEGIN
}
if (!self.referenceUnreadIndicatorCell) {
self.referenceUnreadIndicatorCell = [OWSUnreadIndicatorCell new];
_referenceUnreadIndicatorCell = [OWSUnreadIndicatorCell new];
}
CGSize result = [self.referenceUnreadIndicatorCell cellSizeForInteraction:interaction

View File

@ -14,7 +14,7 @@ class ProfileFetcherJob: NSObject {
let thread: TSThread
// This property is only accessed on the default global queue.
// This property is only accessed on the main queue.
static var fetchDateMap = [String: Date]()
public class func run(thread: TSThread, networkManager: TSNetworkManager) {
@ -31,7 +31,7 @@ class ProfileFetcherJob: NSObject {
public func run() {
AssertIsOnMainThread()
DispatchQueue.global().async {
DispatchQueue.main.async {
for recipientId in self.thread.recipientIdentifiers {
self.getProfile(recipientId: recipientId)
}
@ -40,27 +40,24 @@ class ProfileFetcherJob: NSObject {
public func getProfile(recipientId: String, remainingRetries: Int = 3) {
// Only throttle profile fetch in production builds in order to
// facilitate debugging.
if !_isDebugAssertConfiguration() {
if let lastDate = ProfileFetcherJob.fetchDateMap[recipientId] {
let lastTimeInterval = fabs(lastDate.timeIntervalSinceNow)
// Don't check a profile more often than every N minutes.
let kGetProfileMaxFrequencySeconds = 60.0 * 5.0
if lastTimeInterval < kGetProfileMaxFrequencySeconds {
Logger.info("\(self.TAG) skipping getProfile: \(recipientId), lastTimeInterval: \(lastTimeInterval)")
return
}
if let lastDate = ProfileFetcherJob.fetchDateMap[recipientId] {
let lastTimeInterval = fabs(lastDate.timeIntervalSinceNow)
// Don't check a profile more often than every N minutes.
//
// Only throttle profile fetch in production builds in order to
// facilitate debugging.
let kGetProfileMaxFrequencySeconds = _isDebugAssertConfiguration() ? 0 : 60.0 * 5.0
guard lastTimeInterval > kGetProfileMaxFrequencySeconds else {
Logger.info("\(self.TAG) skipping getProfile: \(recipientId), lastTimeInterval: \(lastTimeInterval)")
return
}
ProfileFetcherJob.fetchDateMap[recipientId] = Date()
}
ProfileFetcherJob.fetchDateMap[recipientId] = Date()
Logger.error("\(self.TAG) getProfile: \(recipientId)")
let request = OWSGetProfileRequest(recipientId: recipientId)
// We don't need to retainUntilComplete() since the success and failure
// handlers both close over a strong reference to self.
self.networkManager.makeRequest(
request,
success: { (_: URLSessionDataTask?, responseObject: Any?) -> Void in

View File

@ -685,7 +685,7 @@ typedef enum : NSUInteger {
[result addObject:recipientId];
}
}
return result;
return [result copy];
}
- (void)ensureBannerState
@ -838,7 +838,7 @@ typedef enum : NSUInteger {
preferredStyle:UIAlertControllerStyleActionSheet];
__weak MessagesViewController *weakSelf = self;
UIAlertAction *unblockAction = [UIAlertAction
UIAlertAction *verifyAction = [UIAlertAction
actionWithTitle:
NSLocalizedString(@"VERIFY_PRIVACY",
@"Label for button or row which allows users to verify the safety number of another user.")
@ -846,7 +846,7 @@ typedef enum : NSUInteger {
handler:^(UIAlertAction *_Nonnull action) {
[weakSelf showConversationSettingsAndShowVerification:YES];
}];
[actionSheetController addAction:unblockAction];
[actionSheetController addAction:verifyAction];
UIAlertAction *dismissAction =
[UIAlertAction actionWithTitle:NSLocalizedString(@"DISMISS_BUTTON_TEXT",
@ -882,7 +882,7 @@ typedef enum : NSUInteger {
[OWSIdentityManager.sharedManager setVerificationState:OWSVerificationStateDefault
identityKey:identityKey
recipientId:recipientId
sendSyncMessage:YES];
isUserInitiatedChange:YES];
}
}

View File

@ -90,10 +90,10 @@ NS_ASSUME_NONNULL_BEGIN
NSData *identityKey =
[identityManger identityKeyForRecipientId:recipientId];
[[OWSIdentityManager sharedManager]
setVerificationState:OWSVerificationStateDefault
identityKey:identityKey
recipientId:recipientId
sendSyncMessage:NO];
setVerificationState:OWSVerificationStateDefault
identityKey:identityKey
recipientId:recipientId
isUserInitiatedChange:NO];
}]];
[alertController addAction:[UIAlertAction actionWithTitle:@"Verified"
style:UIAlertActionStyleDefault
@ -101,10 +101,10 @@ NS_ASSUME_NONNULL_BEGIN
NSData *identityKey =
[identityManger identityKeyForRecipientId:recipientId];
[[OWSIdentityManager sharedManager]
setVerificationState:OWSVerificationStateVerified
identityKey:identityKey
recipientId:recipientId
sendSyncMessage:NO];
setVerificationState:OWSVerificationStateVerified
identityKey:identityKey
recipientId:recipientId
isUserInitiatedChange:NO];
}]];
[alertController addAction:[UIAlertAction actionWithTitle:@"No Longer Verified"
style:UIAlertActionStyleDefault
@ -112,10 +112,10 @@ NS_ASSUME_NONNULL_BEGIN
NSData *identityKey =
[identityManger identityKeyForRecipientId:recipientId];
[[OWSIdentityManager sharedManager]
setVerificationState:OWSVerificationStateNoLongerVerified
identityKey:identityKey
recipientId:recipientId
sendSyncMessage:NO];
setVerificationState:OWSVerificationStateNoLongerVerified
identityKey:identityKey
recipientId:recipientId
isUserInitiatedChange:NO];
}]];
[[UIApplication sharedApplication].frontmostViewController presentViewController:alertController

View File

@ -69,7 +69,7 @@ NS_ASSUME_NONNULL_BEGIN
[OWSIdentityManager.sharedManager setVerificationState:verificationState
identityKey:identityKey
recipientId:recipientId
sendSyncMessage:verificationState != OWSVerificationStateNoLongerVerified];
isUserInitiatedChange:verificationState != OWSVerificationStateNoLongerVerified];
}
@end

View File

@ -510,10 +510,10 @@ typedef void (^CustomLayoutBlock)();
BOOL isVerified = [[OWSIdentityManager sharedManager] verificationStateForRecipientId:self.recipientId]
== OWSVerificationStateVerified;
[[OWSIdentityManager sharedManager]
setVerificationState:(isVerified ? OWSVerificationStateDefault : OWSVerificationStateVerified)identityKey
:self.identityKey
recipientId:self.recipientId
sendSyncMessage:YES];
setVerificationState:(isVerified ? OWSVerificationStateDefault : OWSVerificationStateVerified)identityKey
:self.identityKey
recipientId:self.recipientId
isUserInitiatedChange:YES];
[self dismissViewControllerAnimated:YES completion:nil];
}

View File

@ -205,7 +205,7 @@ NS_ASSUME_NONNULL_BEGIN
[OWSIdentityManager.sharedManager setVerificationState:OWSVerificationStateVerified
identityKey:identityKey
recipientId:recipientId
sendSyncMessage:YES];
isUserInitiatedChange:YES];
[viewController dismissViewControllerAnimated:true completion:nil];
}]];
UIAlertAction *dismissAction =

View File

@ -55,7 +55,7 @@ class SafetyNumberConfirmationAlert: NSObject {
Logger.info("\(self.TAG) Confirmed identity: \(untrustedIdentity)")
OWSDispatch.sessionStoreQueue().async {
OWSIdentityManager.shared().setVerificationState(.default, identityKey: untrustedIdentity.identityKey, recipientId: untrustedIdentity.recipientId, sendSyncMessage: true)
OWSIdentityManager.shared().setVerificationState(.default, identityKey: untrustedIdentity.identityKey, recipientId: untrustedIdentity.recipientId, isUserInitiatedChange: true)
DispatchQueue.main.async {
completion(true)
}

View File

@ -500,13 +500,13 @@ protocol CallServiceObserver: class {
return
}
guard self.call == nil else {
// TODO on iOS10+ we can use CallKit to swap calls rather than just returning busy immediately.
Logger.info("\(TAG) receivedCallOffer for thread: \(thread) but we're already in call: \(call!)")
handleLocalBusyCall(newCall, thread: thread)
return
}

View File

@ -40,21 +40,9 @@ NS_ASSUME_NONNULL_BEGIN
return self;
}
- (instancetype)init
{
if (self = [super init]) {
[self commontInit];
}
return self;
}
- (void)commontInit
{
if (self.imageView) {
// Don't init twice.
return;
}
OWSAssert(!self.imageView);
[self setTranslatesAutoresizingMaskIntoConstraints:NO];

View File

@ -38,21 +38,9 @@ NS_ASSUME_NONNULL_BEGIN
return self;
}
- (instancetype)init
{
if (self = [super init]) {
[self commontInit];
}
return self;
}
- (void)commontInit
{
if (self.bannerView) {
// Don't init twice.
return;
}
OWSAssert(!self.bannerView);
[self setTranslatesAutoresizingMaskIntoConstraints:NO];