From b6ddea9eaeeb9b945c44f8ca950580a88d710c12 Mon Sep 17 00:00:00 2001 From: Matthew Chen Date: Tue, 6 Jun 2017 15:01:16 -0400 Subject: [PATCH] Sketch out OWSIdentityManager. // FREEBIE --- Signal.xcodeproj/project.pbxproj | 4 -- Signal/src/Jobs/MarkIdentityAsSeenJob.swift | 43 ------------------- .../ConversationView/MessagesViewController.m | 1 - .../SafetyNumberConfirmationAlert.swift | 1 - .../OWS104CreateRecipientIdentities.m | 4 +- Signal/src/network/PushManager.m | 3 -- 6 files changed, 2 insertions(+), 54 deletions(-) delete mode 100644 Signal/src/Jobs/MarkIdentityAsSeenJob.swift diff --git a/Signal.xcodeproj/project.pbxproj b/Signal.xcodeproj/project.pbxproj index 1720ae466..55b226498 100644 --- a/Signal.xcodeproj/project.pbxproj +++ b/Signal.xcodeproj/project.pbxproj @@ -154,7 +154,6 @@ 458E38371D668EBF0094BD24 /* OWSDeviceProvisioningURLParser.m in Sources */ = {isa = PBXBuildFile; fileRef = 458E38361D668EBF0094BD24 /* OWSDeviceProvisioningURLParser.m */; }; 458E383A1D6699FA0094BD24 /* OWSDeviceProvisioningURLParserTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 458E38391D6699FA0094BD24 /* OWSDeviceProvisioningURLParserTest.m */; }; 459311FC1D75C948008DD4F0 /* OWSDeviceTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 459311FB1D75C948008DD4F0 /* OWSDeviceTableViewCell.m */; }; - 459B1C671ED480BB00506A04 /* MarkIdentityAsSeenJob.swift in Sources */ = {isa = PBXBuildFile; fileRef = 459B1C661ED480BB00506A04 /* MarkIdentityAsSeenJob.swift */; }; 45A6DAD61EBBF85500893231 /* ReminderView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45A6DAD51EBBF85500893231 /* ReminderView.swift */; }; 45A6DAD71EBBF85500893231 /* ReminderView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45A6DAD51EBBF85500893231 /* ReminderView.swift */; }; 45AE48511E0732D6004D96C2 /* TurnServerInfo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45AE48501E0732D6004D96C2 /* TurnServerInfo.swift */; }; @@ -577,7 +576,6 @@ 459311FB1D75C948008DD4F0 /* OWSDeviceTableViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = OWSDeviceTableViewCell.m; sourceTree = ""; }; 4597E94E1D8313C100040CDE /* sq */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sq; path = translations/sq.lproj/Localizable.strings; sourceTree = ""; }; 4597E94F1D8313CB00040CDE /* bg */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = bg; path = translations/bg.lproj/Localizable.strings; sourceTree = ""; }; - 459B1C661ED480BB00506A04 /* MarkIdentityAsSeenJob.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = MarkIdentityAsSeenJob.swift; path = Jobs/MarkIdentityAsSeenJob.swift; sourceTree = ""; }; 45A6DAD51EBBF85500893231 /* ReminderView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ReminderView.swift; sourceTree = ""; }; 45AE48501E0732D6004D96C2 /* TurnServerInfo.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TurnServerInfo.swift; sourceTree = ""; }; 45B201741DAECBFD00C461E0 /* Signal-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Signal-Bridging-Header.h"; sourceTree = ""; }; @@ -1163,7 +1161,6 @@ 451DE9FC1DC1A28200810E42 /* SyncPushTokensJob.swift */, 45D231761DC7E8F10034FA89 /* SessionResetJob.swift */, 452ECA4C1E087E7200E2F016 /* MessageFetcherJob.swift */, - 459B1C661ED480BB00506A04 /* MarkIdentityAsSeenJob.swift */, 4585C4651ED5DF7A00896AEA /* ProfileFetcherJob.swift */, ); name = Jobs; @@ -2126,7 +2123,6 @@ 45C0DC1E1E69011F00E04C47 /* UIStoryboard+OWS.swift in Sources */, 34F3089F1ECA580B00BB7697 /* OWSUnreadIndicatorCell.m in Sources */, 34B3F8861E8DF1700035BE1A /* NotificationSettingsOptionsViewController.m in Sources */, - 459B1C671ED480BB00506A04 /* MarkIdentityAsSeenJob.swift in Sources */, 452ECA4D1E087E7200E2F016 /* MessageFetcherJob.swift in Sources */, 452EA0971EA662330078744B /* AttachmentPointerAdapter.swift in Sources */, 34DFCB851E8E04B500053165 /* AddToBlockListViewController.m in Sources */, diff --git a/Signal/src/Jobs/MarkIdentityAsSeenJob.swift b/Signal/src/Jobs/MarkIdentityAsSeenJob.swift deleted file mode 100644 index 329f0b78b..000000000 --- a/Signal/src/Jobs/MarkIdentityAsSeenJob.swift +++ /dev/null @@ -1,43 +0,0 @@ -// -// Copyright (c) 2017 Open Whisper Systems. All rights reserved. -// - -import Foundation - -@objc -class MarkIdentityAsSeenJob: NSObject { - let TAG = "[MarkIdentityAsSeenJob]" - - private let recipientIds: [String] - - public class func run(thread: TSThread) { - let recipientIds = thread.recipientIdentifiers - - MarkIdentityAsSeenJob(recipientIds: recipientIds).run() - } - - public class func run(recipientId: String) { - MarkIdentityAsSeenJob(recipientIds: [recipientId]).run() - } - - init(recipientIds: [String]) { - self.recipientIds = recipientIds - } - - public func run() { - for recipientId in self.recipientIds { - markAsSeenIfNecessary(recipientId: recipientId) - } - } - - private func markAsSeenIfNecessary(recipientId: String) { - guard let identity = OWSRecipientIdentity.fetch(uniqueId: recipientId) else { - Logger.verbose("\(self.TAG) no existing identity for recipient: \(recipientId). No messages with them yet?") - return - } - if !identity.wasSeen { - Logger.info("\(self.TAG) marking identity as seen for recipient: \(recipientId)") - identity.updateAsSeen() - } - } -} diff --git a/Signal/src/ViewControllers/ConversationView/MessagesViewController.m b/Signal/src/ViewControllers/ConversationView/MessagesViewController.m index 68b38148a..a0ca24f9d 100644 --- a/Signal/src/ViewControllers/ConversationView/MessagesViewController.m +++ b/Signal/src/ViewControllers/ConversationView/MessagesViewController.m @@ -834,7 +834,6 @@ typedef enum : NSUInteger { _callOnOpen = NO; } [self updateNavigationBarSubtitleLabel]; - [MarkIdentityAsSeenJob runWithThread:self.thread]; [ProfileFetcherJob runWithThread:self.thread networkManager:self.networkManager]; [self markVisibleMessagesAsRead]; diff --git a/Signal/src/ViewControllers/SafetyNumberConfirmationAlert.swift b/Signal/src/ViewControllers/SafetyNumberConfirmationAlert.swift index 7c708452c..b1bf06dbe 100644 --- a/Signal/src/ViewControllers/SafetyNumberConfirmationAlert.swift +++ b/Signal/src/ViewControllers/SafetyNumberConfirmationAlert.swift @@ -72,7 +72,6 @@ class SafetyNumberConfirmationAlert: NSObject { OWSDispatch.sessionStoreQueue().async { OWSIdentityManager.shared().saveRemoteIdentity(untrustedIdentity.identityKey, recipientId: untrustedIdentity.recipientId) - MarkIdentityAsSeenJob.run(recipientId: untrustedIdentity.recipientId) DispatchQueue.main.async { completion(true) } diff --git a/Signal/src/environment/Migrations/OWS104CreateRecipientIdentities.m b/Signal/src/environment/Migrations/OWS104CreateRecipientIdentities.m index 9e51de910..fc2407aca 100644 --- a/Signal/src/environment/Migrations/OWS104CreateRecipientIdentities.m +++ b/Signal/src/environment/Migrations/OWS104CreateRecipientIdentities.m @@ -54,8 +54,8 @@ static NSString *const OWS104CreateRecipientIdentitiesMigrationId = @"104"; identityKey:identityKey isFirstKnownKey:NO createdAt:[NSDate dateWithTimeIntervalSince1970:0] - approvedForBlockingUse:YES - approvedForNonBlockingUse:NO] saveWithTransaction:transaction]; + verificationState:OWSVerificationStateDefault] + saveWithTransaction:transaction]; }]; [self saveWithTransaction:transaction]; diff --git a/Signal/src/network/PushManager.m b/Signal/src/network/PushManager.m index fe242de84..be5ffd931 100644 --- a/Signal/src/network/PushManager.m +++ b/Signal/src/network/PushManager.m @@ -216,9 +216,6 @@ NSString *const Signal_Message_MarkAsRead_Identifier = @"Signal_Message_MarkAsRe return; } - TSContactThread *thread = [TSContactThread getOrCreateThreadWithContactId:recipientId]; - [MarkIdentityAsSeenJob runWithThread:thread]; - [self.callUIAdapter startAndShowOutgoingCallWithRecipientId:recipientId]; completionHandler(); } else if ([identifier isEqualToString:PushManagerActionsShowThread]) {