Skip to content

Commit 068febc

Browse files
authored
De-protocolize RecipientDatabaseTable
1 parent a3522a4 commit 068febc

File tree

40 files changed

+397
-289
lines changed

40 files changed

+397
-289
lines changed

Signal/src/ViewControllers/DebugUI/DebugUIMisc.swift

Lines changed: 0 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -142,14 +142,6 @@ class DebugUIMisc: NSObject, DebugUIPage {
142142
DebugUIMisc.logStickerSuggestions()
143143
}),
144144

145-
OWSTableItem(title: "Log Local Account", actionBlock: {
146-
DebugUIMisc.logLocalAccount()
147-
}),
148-
149-
OWSTableItem(title: "Log SignalRecipients", actionBlock: {
150-
DebugUIMisc.logSignalRecipients()
151-
}),
152-
153145
OWSTableItem(title: "Clear Profile Key Credentials", actionBlock: {
154146
DebugUIMisc.clearProfileKeyCredentials()
155147
}),
@@ -407,27 +399,6 @@ class DebugUIMisc: NSObject, DebugUIPage {
407399
Logger.verbose("emoji: \(combinedEmojiString)")
408400
}
409401

410-
private static func logLocalAccount() {
411-
guard let localAddress = DependenciesBridge.shared.tsAccountManager.localIdentifiersWithMaybeSneakyTransaction?.aciAddress else {
412-
owsFailDebug("Missing localAddress.")
413-
return
414-
}
415-
if let serviceId = localAddress.serviceId {
416-
Logger.verbose("localAddress serviceId: \(serviceId)")
417-
}
418-
if let phoneNumber = localAddress.phoneNumber {
419-
Logger.verbose("localAddress phoneNumber: \(phoneNumber)")
420-
}
421-
}
422-
423-
private static func logSignalRecipients() {
424-
SSKEnvironment.shared.databaseStorageRef.read { tx in
425-
SignalRecipient.anyEnumerate(transaction: tx, batchingPreference: .batched(32)) { signalRecipient, _ in
426-
Logger.verbose("SignalRecipient: \(signalRecipient.addressComponentsDescription)")
427-
}
428-
}
429-
}
430-
431402
private static func clearProfileKeyCredentials() {
432403
SSKEnvironment.shared.databaseStorageRef.write { transaction in
433404
SSKEnvironment.shared.versionedProfilesRef.clearProfileKeyCredentials(transaction: transaction)

Signal/src/ViewControllers/ThreadSettings/ContactAboutSheet.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ class ContactAboutSheet: StackSheetViewController {
1313
struct Context {
1414
let contactManager: any ContactManager
1515
let identityManager: any OWSIdentityManager
16-
let recipientDatabaseTable: any RecipientDatabaseTable
16+
let recipientDatabaseTable: RecipientDatabaseTable
1717
let nicknameManager: any NicknameManager
1818

1919
static let `default` = Context(

Signal/src/ViewControllers/ThreadSettings/ContactNoteSheet.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import SignalServiceKit
99
class ContactNoteSheet: OWSTableSheetViewController {
1010
struct Context {
1111
let db: any DB
12-
let recipientDatabaseTable: any RecipientDatabaseTable
12+
let recipientDatabaseTable: RecipientDatabaseTable
1313
let nicknameManager: any NicknameManager
1414
}
1515

Signal/test/Contacts/AuthorMergeHelperBuilderTest.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ final class AuthorMergeHelperBuilderTest: XCTestCase {
1515
let appContext = TestAppContext()
1616
let authorMergeHelper = AuthorMergeHelper()
1717
let inMemoryDb = InMemoryDB()
18-
let recipientDatabaseTable = MockRecipientDatabaseTable()
18+
let recipientDatabaseTable = RecipientDatabaseTable()
1919

2020
let aci1 = Aci.constantForTesting("00000000-0000-4000-8000-0000000000a1")
2121
let aci2 = Aci.constantForTesting("00000000-0000-4000-8000-0000000000a2")

Signal/test/Provisioning/ProvisionManagerTests.swift

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ public class ProvisioningManagerTests {
2121
private var mockReceiptManager: ProvisioningManager.Mocks.ReceiptManager!
2222
private var mockTsAccountManager: MockTSAccountManager!
2323

24-
let recipientDatabaseTable = MockRecipientDatabaseTable()
24+
let recipientDatabaseTable = RecipientDatabaseTable()
2525
let recipientFetcher: RecipientFetcher
2626
let recipientIdFinder: RecipientIdFinder
2727

@@ -35,7 +35,10 @@ public class ProvisioningManagerTests {
3535
self.mockReceiptManager = ProvisioningManager.Mocks.ReceiptManager()
3636
self.mockTsAccountManager = MockTSAccountManager()
3737

38-
recipientFetcher = RecipientFetcherImpl(recipientDatabaseTable: recipientDatabaseTable)
38+
recipientFetcher = RecipientFetcherImpl(
39+
recipientDatabaseTable: recipientDatabaseTable,
40+
searchableNameIndexer: MockSearchableNameIndexer(),
41+
)
3942
recipientIdFinder = RecipientIdFinder(recipientDatabaseTable: recipientDatabaseTable, recipientFetcher: recipientFetcher)
4043
mockIdentityManager = MockIdentityManager(recipientIdFinder: recipientIdFinder)
4144
}

Signal/test/Provisioning/ProvisioningCoordinatorTest.swift

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,11 @@ public class ProvisioningCoordinatorTest: XCTestCase {
3737

3838
let mockDb = InMemoryDB()
3939

40-
let recipientDbTable = MockRecipientDatabaseTable()
41-
let recipientFetcher = RecipientFetcherImpl(recipientDatabaseTable: recipientDbTable)
40+
let recipientDbTable = RecipientDatabaseTable()
41+
let recipientFetcher = RecipientFetcherImpl(
42+
recipientDatabaseTable: recipientDbTable,
43+
searchableNameIndexer: MockSearchableNameIndexer(),
44+
)
4245
let recipientIdFinder = RecipientIdFinder(
4346
recipientDatabaseTable: recipientDbTable,
4447
recipientFetcher: recipientFetcher

Signal/test/contact/OWSContactsManagerTest.swift

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ class OWSContactsManagerTest: SignalBaseTest {
1414

1515
private let mockUsernameLookupMananger: MockUsernameLookupManager = .init()
1616
private let mockNicknameManager = MockNicknameManager()
17-
private let mockRecipientDatabaseTable = MockRecipientDatabaseTable()
17+
private let mockRecipientDatabaseTable = RecipientDatabaseTable()
1818

1919
override func setUp() {
2020
super.setUp()
@@ -60,7 +60,7 @@ class OWSContactsManagerTest: SignalBaseTest {
6060
private func createRecipients(_ serviceIds: [ServiceId]) {
6161
let recipientFetcher = DependenciesBridge.shared.recipientFetcher
6262
let recipientManager = DependenciesBridge.shared.recipientManager
63-
write { tx in
63+
self.dbV2.write { tx in
6464
for serviceId in serviceIds {
6565
recipientManager.markAsRegisteredAndSave(
6666
recipientFetcher.fetchOrCreate(serviceId: serviceId, tx: tx),
@@ -72,7 +72,7 @@ class OWSContactsManagerTest: SignalBaseTest {
7272
}
7373

7474
private func createAccounts(_ accounts: [SignalAccount]) {
75-
write { transaction in
75+
self.dbV2.write { transaction in
7676
for account in accounts {
7777
account.anyInsert(transaction: transaction)
7878
}
@@ -148,7 +148,7 @@ class OWSContactsManagerTest: SignalBaseTest {
148148
mockNicknameManager.insert(bobNickname, tx: tx)
149149
}
150150

151-
self.read { tx in
151+
self.dbV2.read { tx in
152152
let contactsManager = SSKEnvironment.shared.contactManagerRef as! OWSContactsManager
153153
let actual = contactsManager.displayNames(
154154
for: [aliceAddress, bobAddress],
@@ -169,7 +169,7 @@ class OWSContactsManagerTest: SignalBaseTest {
169169
makeAccount(serviceId: address.serviceId!, phoneNumber: address.e164!, fullName: name)
170170
})
171171

172-
read { transaction in
172+
self.dbV2.read { transaction in
173173
let contactsManager = SSKEnvironment.shared.contactManagerRef as! OWSContactsManager
174174
let actual = contactsManager.displayNames(for: addresses, tx: transaction).map { $0.resolvedValue() }
175175
let expected = ["Alice Aliceson (home)", "Bob Bobson (home)"]
@@ -183,7 +183,7 @@ class OWSContactsManagerTest: SignalBaseTest {
183183
addresses[0]: makeUserProfile(givenName: "Alice", familyName: "Aliceson"),
184184
addresses[1]: makeUserProfile(givenName: "Bob", familyName: "Bobson"),
185185
]
186-
read { transaction in
186+
self.dbV2.read { transaction in
187187
let contactsManager = SSKEnvironment.shared.contactManagerRef as! OWSContactsManager
188188
let actual = contactsManager.displayNames(for: addresses, tx: transaction).map { $0.resolvedValue() }
189189
let expected = ["Alice Aliceson", "Bob Bobson"]
@@ -198,7 +198,7 @@ class OWSContactsManagerTest: SignalBaseTest {
198198
]
199199
// Prevent default fake name from being used.
200200
(SSKEnvironment.shared.profileManagerRef as! OWSFakeProfileManager).fakeUserProfiles = [:]
201-
read { transaction in
201+
self.dbV2.read { transaction in
202202
let contactsManager = SSKEnvironment.shared.contactManagerRef as! OWSContactsManager
203203
let actual = contactsManager.displayNames(for: addresses, tx: transaction).map { $0.resolvedValue() }
204204
let expected = ["+1 703-555-9900", "+1 703-555-9901"]
@@ -222,7 +222,7 @@ class OWSContactsManagerTest: SignalBaseTest {
222222
// Prevent default fake names from being used.
223223
(SSKEnvironment.shared.profileManagerRef as! OWSFakeProfileManager).fakeUserProfiles = [:]
224224

225-
read { transaction in
225+
dbV2.read { transaction in
226226
let contactsManager = SSKEnvironment.shared.contactManagerRef as! OWSContactsManager
227227
let actual = contactsManager.displayNames(for: addresses, tx: transaction).map { $0.resolvedValue() }
228228
let expected = ["alice", "bob"]
@@ -237,7 +237,7 @@ class OWSContactsManagerTest: SignalBaseTest {
237237
// default fake names from being used.
238238
(SSKEnvironment.shared.profileManagerRef as! OWSFakeProfileManager).fakeUserProfiles = [:]
239239

240-
read { transaction in
240+
dbV2.read { transaction in
241241
let contactsManager = SSKEnvironment.shared.contactManagerRef as! OWSContactsManager
242242
let actual = contactsManager.displayNames(for: addresses, tx: transaction).map { $0.resolvedValue() }
243243
let expected = ["Unknown", "Unknown"]
@@ -285,7 +285,7 @@ class OWSContactsManagerTest: SignalBaseTest {
285285
mockNicknameManager.insert(feliciaNickname, tx: tx)
286286
}
287287

288-
read { transaction in
288+
dbV2.read { transaction in
289289
let addresses = [aliceAddress, bobAddress, carolAddress, daveAddress, eveAddress, feliciaAddress]
290290
let actual = SSKEnvironment.shared.contactManagerRef.displayNames(for: addresses, tx: transaction).map { $0.resolvedValue() }
291291
let expected = ["Alice Aliceson (home)", "Bob Bobson", "+1 703-555-9900", "dave", "Unknown", "Felicia Felicity"]
@@ -303,7 +303,7 @@ class OWSContactsManagerTest: SignalBaseTest {
303303
makeAccount(serviceId: address.serviceId!, phoneNumber: address.e164!, fullName: name)
304304
})
305305

306-
read { transaction in
306+
dbV2.read { transaction in
307307
let contactsManager = SSKEnvironment.shared.contactManagerRef as! OWSContactsManager
308308
let actual = contactsManager.displayNames(for: addresses, tx: transaction).map { $0.resolvedValue() }
309309
let expected = ["Alice (home)", "Bob (home)"]
@@ -323,7 +323,7 @@ class OWSContactsManagerTest: SignalBaseTest {
323323
makeAccount(serviceId: address.serviceId!, phoneNumber: address.e164!, fullName: name)
324324
})
325325
let contactsManager = makeContactsManager()
326-
read { transaction in
326+
dbV2.read { transaction in
327327
let actual = contactsManager.systemContactNames(for: addresses.map { $0.phoneNumber! }, tx: transaction).map { $0?.resolvedValue() }
328328
let expected = ["Alice Aliceson (home)", "Bob Bobson (home)"]
329329
XCTAssertEqual(actual, expected)
@@ -343,7 +343,7 @@ class OWSContactsManagerTest: SignalBaseTest {
343343
let chuckAddress = SignalServiceAddress(serviceId: chuckAci, phoneNumber: "+16505550101")
344344

345345
let contactsManager = makeContactsManager()
346-
read { transaction in
346+
dbV2.read { transaction in
347347
let addresses = [aliceAddress, chuckAddress]
348348
let actual = contactsManager.systemContactNames(for: addresses.map { $0.phoneNumber! }, tx: transaction).map { $0?.resolvedValue() }
349349
let expected = ["Alice Aliceson (home)", nil]

Signal/test/util/GRDBFinderTest.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -138,10 +138,10 @@ class GRDBFinderTest: SignalBaseTest {
138138
let address6 = SignalServiceAddress(serviceId: Aci.randomForTesting(), phoneNumber: "+16505550106")
139139
let address7 = SignalServiceAddress.randomForTesting()
140140

141+
let recipientDatabaseTable = DependenciesBridge.shared.recipientDatabaseTable
141142
self.write { transaction in
142143
[address1, address2, address3, address4].forEach {
143-
SignalRecipient(aci: $0.aci, pni: nil, phoneNumber: $0.e164)
144-
.anyInsert(transaction: transaction)
144+
recipientDatabaseTable.insertRecipient(SignalRecipient(aci: $0.aci, pni: nil, phoneNumber: $0.e164), transaction: transaction)
145145
}
146146
}
147147

SignalServiceKit/Account/PniHelloWorldManager.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ class PniHelloWorldManagerImpl: PniHelloWorldManager {
4040
private let pniDistributionParameterBuilder: PniDistributionParamaterBuilder
4141
private let pniSignedPreKeyStore: SignedPreKeyStoreImpl
4242
private let pniKyberPreKeyStore: KyberPreKeyStoreImpl
43-
private let recipientDatabaseTable: any RecipientDatabaseTable
43+
private let recipientDatabaseTable: RecipientDatabaseTable
4444
private let tsAccountManager: TSAccountManager
4545

4646
init(
@@ -50,7 +50,7 @@ class PniHelloWorldManagerImpl: PniHelloWorldManager {
5050
pniDistributionParameterBuilder: PniDistributionParamaterBuilder,
5151
pniSignedPreKeyStore: SignedPreKeyStoreImpl,
5252
pniKyberPreKeyStore: KyberPreKeyStoreImpl,
53-
recipientDatabaseTable: any RecipientDatabaseTable,
53+
recipientDatabaseTable: RecipientDatabaseTable,
5454
tsAccountManager: TSAccountManager
5555
) {
5656
self.db = db

SignalServiceKit/Contacts/Discovery/ContactDiscoveryTask.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,6 @@ final class ContactDiscoveryTaskQueueImpl: ContactDiscoveryTaskQueue {
129129
return
130130
}
131131
recipient.phoneNumber?.isDiscoverable = isPhoneNumberDiscoverable
132-
recipient.anyOverwritingUpdate(transaction: SDSDB.shimOnlyBridge(tx))
132+
recipientDatabaseTable.updateRecipient(recipient, transaction: tx)
133133
}
134134
}

0 commit comments

Comments
 (0)