From 96c275d51c4af7b863dfef628a31d40868c3d75c Mon Sep 17 00:00:00 2001 From: Damodaram Date: Fri, 23 Apr 2021 09:46:00 +0530 Subject: [PATCH] added molecules parameter --- MVMCoreUI/Behaviors/GetContactBehavior.swift | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/MVMCoreUI/Behaviors/GetContactBehavior.swift b/MVMCoreUI/Behaviors/GetContactBehavior.swift index c7327a1c..1bb27ac7 100644 --- a/MVMCoreUI/Behaviors/GetContactBehavior.swift +++ b/MVMCoreUI/Behaviors/GetContactBehavior.swift @@ -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 }