From 83417bfbbb9947e27bb87ba25c6238fe75f9104b Mon Sep 17 00:00:00 2001
From: Oliver Wiese <oliver.wiese@fu-berlin.de>
Date: Wed, 27 Mar 2019 12:40:12 +0100
Subject: [PATCH] update methods to find users mailAdr

---
 enzevalos_iphone/CNMailAddressesExtension.swift   |  9 +++++++++
 enzevalos_iphone/DataHandler.swift                |  2 +-
 enzevalos_iphone/InboxViewController.swift        |  4 +---
 enzevalos_iphone/Logger.swift                     |  4 ++--
 enzevalos_iphone/MailAddress.swift                |  2 +-
 enzevalos_iphone/MailHandler.swift                | 14 --------------
 enzevalos_iphone/Mail_Address+CoreDataClass.swift |  2 +-
 enzevalos_iphone/SendViewController.swift         |  4 ++--
 8 files changed, 17 insertions(+), 24 deletions(-)

diff --git a/enzevalos_iphone/CNMailAddressesExtension.swift b/enzevalos_iphone/CNMailAddressesExtension.swift
index 7666d0af..cf4de43c 100644
--- a/enzevalos_iphone/CNMailAddressesExtension.swift
+++ b/enzevalos_iphone/CNMailAddressesExtension.swift
@@ -22,6 +22,15 @@ import Foundation
 import Contacts
 
 open class CNMailAddressExtension: MailAddress {
+    public var isUser: Bool {
+        get {
+            if let userAdr = UserManager.loadUserValue(.userAddr) as? String {
+                return self.mailAddress.lowercased() == userAdr.lowercased()
+            }
+            return false
+        }
+    }
+    
     public var primaryKey: PersistentKey?
 
     public var publicKeys: Set<PersistentKey>
diff --git a/enzevalos_iphone/DataHandler.swift b/enzevalos_iphone/DataHandler.swift
index 616d2a93..3394c4a5 100644
--- a/enzevalos_iphone/DataHandler.swift
+++ b/enzevalos_iphone/DataHandler.swift
@@ -277,7 +277,7 @@ class DataHandler {
             sk.importedDate = Date()
             UserManager.storeUserValue(keyID as AnyObject, attribute: Attribute.prefSecretKeyID)
             let adr = UserManager.loadUserValue(Attribute.userAddr) as! String
-            let name = UserManager.loadUserValue(Attribute.accountname) as? String ?? adr
+            let name = adr // TODO Change here displayname
             _ = getContact(name: name, address: adr, key: keyID, prefer_enc: true)
             if addPk {
                 _ = newPublicKey(keyID: keyID, cryptoType: CryptoScheme.PGP, adr: adr, autocrypt: false)
diff --git a/enzevalos_iphone/InboxViewController.swift b/enzevalos_iphone/InboxViewController.swift
index d9c742f1..f61db196 100644
--- a/enzevalos_iphone/InboxViewController.swift
+++ b/enzevalos_iphone/InboxViewController.swift
@@ -206,9 +206,7 @@ class InboxViewController: UITableViewController, InboxCellDelegator {
                 if let DestinationViewController = DestinationNavigationController.topViewController as? ContactViewController {
                     DestinationViewController.navigationItem.leftBarButtonItem = UIBarButtonItem(barButtonSystemItem: .done, target: self, action: #selector(dismissView)) 
                     let records = folder.records.filter({
-                        $0.addresses.contains(where: {
-                            $0.mailAddress == UserManager.loadUserValue(.userAddr) as? String ?? ""
-                        })
+                        $0.isUser
                     })
                     if let record = records.filter({ $0.isSecure }).first {
                         DestinationViewController.keyRecord = record
diff --git a/enzevalos_iphone/Logger.swift b/enzevalos_iphone/Logger.swift
index 95028fbd..b02b074a 100644
--- a/enzevalos_iphone/Logger.swift
+++ b/enzevalos_iphone/Logger.swift
@@ -806,8 +806,8 @@ class Logger {
     }
 
     static func resolve(mail_address: Mail_Address) -> String {
-        if mail_address.mailAddress == UserManager.loadUserValue(.userAddr) as? String ?? "" {
-            return "self"//mail_address.mailAddress
+        if mail_address.isUser {
+            return "self"
         }
         return mail_address.pseudonym
     }
diff --git a/enzevalos_iphone/MailAddress.swift b/enzevalos_iphone/MailAddress.swift
index 45031420..122dabdf 100644
--- a/enzevalos_iphone/MailAddress.swift
+++ b/enzevalos_iphone/MailAddress.swift
@@ -92,8 +92,8 @@ public enum EncState {
 public protocol MailAddress {
     var mailAddress: String { get }
     var label: CNLabeledValue<NSString> { get } //FIXME: ist der NSString hier wirklich richtig? (http://stackoverflow.com/questions/39648830/how-to-add-new-email-to-cnmutablecontact-in-swift-3)
-    // var prefEnc: EncState{get set}
     var hasKey: Bool { get }
+    var isUser: Bool {get }
 
     var primaryKey: PersistentKey? { get }
     var publicKeys: Set<PersistentKey> { get }
diff --git a/enzevalos_iphone/MailHandler.swift b/enzevalos_iphone/MailHandler.swift
index 5c42d5c8..28272625 100644
--- a/enzevalos_iphone/MailHandler.swift
+++ b/enzevalos_iphone/MailHandler.swift
@@ -69,20 +69,6 @@ class MailHandler {
         }
         return nil
     }
-    
-    
-    
-    var username: String? {
-        get {
-            if let name = UserManager.loadUserValue(Attribute.accountname) as? String {
-                return name
-            }
-            else if let adr = UserManager.loadUserValue(Attribute.userAddr) as? String {
-                return adr
-            }
-            return nil
-        }
-    }
 
     var shouldTryRefreshOAUTH: Bool {
         if let imapAuthType = UserManager.loadUserValue(.imapConnectionType) as? Int,
diff --git a/enzevalos_iphone/Mail_Address+CoreDataClass.swift b/enzevalos_iphone/Mail_Address+CoreDataClass.swift
index cc41f4e1..5719f798 100644
--- a/enzevalos_iphone/Mail_Address+CoreDataClass.swift
+++ b/enzevalos_iphone/Mail_Address+CoreDataClass.swift
@@ -76,7 +76,7 @@ open class Mail_Address: NSManagedObject, MailAddress {
         return false
     }
     
-    var isUser: Bool {
+    public var isUser: Bool {
         get {
             if let userAddr = UserManager.loadUserValue(Attribute.userAddr) as? String {
                 return self.address.lowercased() == userAddr.lowercased()
diff --git a/enzevalos_iphone/SendViewController.swift b/enzevalos_iphone/SendViewController.swift
index 280dccd9..4ea9a1f2 100644
--- a/enzevalos_iphone/SendViewController.swift
+++ b/enzevalos_iphone/SendViewController.swift
@@ -162,7 +162,7 @@ class SendViewController: UIViewController {
 
         if let prefilledMail = prefilledMail {
             for case let mail as MailAddress in prefilledMail.to {
-                if mail.mailAddress != UserManager.loadUserValue(Attribute.userAddr) as! String {
+                if !mail.isUser{
                     toText.delegate?.tokenField!(toText, didEnterText: mail.mailAddress)
                 }
             }
@@ -170,7 +170,7 @@ class SendViewController: UIViewController {
                 toText.delegate?.tokenField!(toText, didEnterText: mail)
             }
             for case let mail as MailAddress in prefilledMail.cc ?? [] {
-                if mail.mailAddress != UserManager.loadUserValue(Attribute.userAddr) as! String {
+                if !mail.isUser {
                     ccText.delegate?.tokenField!(ccText, didEnterText: mail.mailAddress)
                 }
             }
-- 
GitLab