added molecules parameter

This commit is contained in:
Damodaram 2021-04-23 09:46:00 +05:30
parent a225cf81e3
commit 96c275d51c

View File

@ -33,9 +33,10 @@ public class PageGetContactBehavior: PageVisibilityBehavior {
// Ask for permission
CNContactStore().requestAccess(for: .contacts) { [weak self] (access, error) in
guard access,
error == nil else { return }
error == nil,
let rootMolecules = self?.delegate?.moleculeDelegate?.getRootMolecules() else { return }
// Iterate models and provide contact
self?.getContacts()
self?.getContacts(for: rootMolecules)
// Tell template to update
MVMCoreDispatchUtility.performBlock(onMainThread: {
@ -45,10 +46,9 @@ public class PageGetContactBehavior: PageVisibilityBehavior {
}
}
public func getContacts() {
guard let rootMolecules = delegate?.moleculeDelegate?.getRootMolecules() else { return }
public func getContacts(for molecules: [MoleculeModelProtocol]) {
let consumers: [PageGetContactBehaviorConsumerProtocol] = molecules.allMoleculesOfType()
let store = CNContactStore()
let consumers: [PageGetContactBehaviorConsumerProtocol] = rootMolecules.allMoleculesOfType()
for consumer in consumers {
guard let parameters = consumer.getMatchParameters(),
let contacts = try? store.unifiedContacts(matching: parameters.0, keysToFetch: parameters.1) else { return }