From cfd0b3e8343292bf9ec9b81ad120663ef5704cf2 Mon Sep 17 00:00:00 2001 From: Chris Offner <chrisoffner@pm.me> Date: Thu, 18 Mar 2021 12:00:52 +0100 Subject: [PATCH] Solved merge conflicts in AddressRecord. --- .../persistentData/AddressRecord.swift | 74 ++++++------------- 1 file changed, 22 insertions(+), 52 deletions(-) diff --git a/enzevalos_iphone/persistentData/AddressRecord.swift b/enzevalos_iphone/persistentData/AddressRecord.swift index afbec270..e67d197b 100644 --- a/enzevalos_iphone/persistentData/AddressRecord.swift +++ b/enzevalos_iphone/persistentData/AddressRecord.swift @@ -7,12 +7,13 @@ // /* TODO: usedKeys -> associted? -*/ + */ import Contacts import SwiftUI import CoreData extension AddressRecord { + /// Enum defining which key to to sort contacts by (name, recency). enum SortBy: String { case name = "displayname" case recency = "last" // still unavailable @@ -22,6 +23,13 @@ extension AddressRecord { return [NSSortDescriptor(key: "email", ascending: true)] } + var mcoAddress: MCOAddress { + get { + let name = displayname ?? email + return MCOAddress.init(displayName: name, mailbox: email) + } + } + static func lookForPrefix(prefix: String) -> NSFetchRequest<AddressRecord> { let freq = NSFetchRequest<AddressRecord>(entityName: AddressRecord.entityName) freq.sortDescriptors = sorting @@ -76,7 +84,6 @@ extension AddressRecord { get { if let contact = self.phoneBookID { // TODO Look up cn contact name! - } if let displayname = self.displayname { return displayname @@ -113,59 +120,11 @@ extension AddressRecord { } } -extension AddressRecord: MailAddress { - public var mailAddress: String { - get { - return email - } - } - - public var label: CNLabeledValue<NSString> { - return CNLabeledValue.init(label: CNLabelWork, value: (email) as NSString) // TODO - } - - public var isUser: Bool { - if let user = UserManager.loadUserValue(.userAddr) as? String { - return user == email - } - return false - } - - public var publicKeys: Set<PublicKeyRecord> { - if let set = usedPublicKeys, let keys = set as? Set<PublicKeyRecord> { - return keys - } - return Set<PublicKeyRecord> () - } - - public var contact: Contact? { - return nil // TODO - } -} - -extension AddressRecord: Contact { - public var cnContact: CNContact? { - // TODO FIX! - return nil - } - - public func getMailAddresses() -> [MailAddress] { - var addresses = [AddressRecord] () - addresses.append(self) - for key in self.publicKeys { - if let set = key.usedAddress as? Set<AddressRecord> { - addresses.append(contentsOf: set) - } - } - return addresses - } -} - extension AddressRecord: DisplayContact { typealias C = AddressRecord var avatar: Image { - return Image(uiImage: getImageOrDefault()) + return ContactHandler.getImageOrDefault(addr: self) } var isInContactBook: Bool { @@ -173,7 +132,18 @@ extension AddressRecord: DisplayContact { } var otherAddresses: [C] { - return getMailAddresses() as! [AddressRecord] + get{ + var addresses = [AddressRecord] () + addresses.append(self) + if let keys = self.usedPublicKeys as? Set<PublicKeyRecord> { + for key in keys { + if let set = key.usedAddress as? Set<AddressRecord> { + addresses.append(contentsOf: set) + } + } + } + return addresses + } } var keyIDs: [String] { -- GitLab