Browse Source

revert moving isFromCurrentSender from DcMsg to DcContext

cyberta 4 years ago
parent
commit
cdaabfce19

+ 4 - 4
DcCore/DcCore/DC/Wrapper.swift

@@ -93,10 +93,6 @@ public class DcContext {
         dc_block_contact(contextPointer, UInt32(id), 0)
     }
 
-    public func isFromCurrentSender(message: DcMsg) -> Bool {
-        return message.fromContactId == getContact(id: Int(DC_CONTACT_ID_SELF)).id
-    }
-
     public func getBlockedContacts() -> [Int] {
         let cBlockedContacts = dc_get_blocked_contacts(contextPointer)
         return DcUtils.copyAndFreeArray(inputArray: cBlockedContacts)
@@ -877,6 +873,10 @@ public class DcMsg {
         return Int(dc_msg_get_from_id(messagePointer))
     }
 
+    public var isFromCurrentSender: Bool {
+        return fromContactId == DC_CONTACT_ID_SELF
+    }
+
     public var chatId: Int {
         return Int(dc_msg_get_chat_id(messagePointer))
     }

+ 5 - 6
deltachat-ios/Chat/ChatViewController.swift

@@ -571,11 +571,10 @@ class ChatViewController: UITableViewController {
             cell = tableView.dequeueReusableCell(withIdentifier: "text", for: indexPath) as? TextMessageCell ?? TextMessageCell()
         }
 
-        let isFromCurrentSender = dcContext.isFromCurrentSender(message: message)
-        var showAvatar = isGroupChat && !isFromCurrentSender
+        var showAvatar = isGroupChat && !message.isFromCurrentSender
         var showName = isGroupChat
         if message.overrideSenderName != nil {
-            showAvatar = !isFromCurrentSender
+            showAvatar = !message.isFromCurrentSender
             showName = true
         }
 
@@ -700,7 +699,7 @@ class ChatViewController: UITableViewController {
 
         var corners: UIRectCorner = []
 
-        if dcContext.isFromCurrentSender(message: message) {
+        if message.isFromCurrentSender {
             corners.formUnion(.topLeft)
             corners.formUnion(.bottomLeft)
             corners.formUnion(.topRight)
@@ -714,7 +713,7 @@ class ChatViewController: UITableViewController {
     }
 
     private func getBackgroundColor(for currentMessage: DcMsg) -> UIColor {
-        return dcContext.isFromCurrentSender(message: currentMessage) ? DcColors.messagePrimaryColor : DcColors.messageSecondaryColor
+        return currentMessage.isFromCurrentSender ? DcColors.messagePrimaryColor : DcColors.messageSecondaryColor
     }
 
     private func updateTitle(chat: DcChat) {
@@ -1190,7 +1189,7 @@ class ChatViewController: UITableViewController {
         emptyStateView.isHidden = true
 
         reloadData()
-        if wasLastSectionVisible || dcContext.isFromCurrentSender(message: message) {
+        if wasLastSectionVisible || message.isFromCurrentSender {
             scrollToBottom(animated: true)
         }
     }

+ 2 - 2
deltachat-ios/Chat/Views/Cells/BaseMessageCell.swift

@@ -274,7 +274,7 @@ public class BaseMessageCell: UITableViewCell {
     // update classes inheriting BaseMessageCell first before calling super.update(...)
     func update(dcContext: DcContext, msg: DcMsg, messageStyle: UIRectCorner, showAvatar: Bool, showName: Bool) {
         let fromContact = dcContext.getContact(id: msg.fromContactId)
-        if dcContext.isFromCurrentSender(message: msg) {
+        if msg.isFromCurrentSender {
             topLabel.text = msg.isForwarded ? String.localized("forwarded_message") : nil
             topLabel.textColor = msg.isForwarded ? DcColors.grayDateColor : DcColors.defaultTextColor
             leadingConstraint?.isActive = false
@@ -375,7 +375,7 @@ public class BaseMessageCell: UITableViewCell {
         var backgroundColor: UIColor
         if isTransparent {
             backgroundColor = UIColor.init(alpha: 0, red: 0, green: 0, blue: 0)
-        } else if dcContext.isFromCurrentSender(message:message) {
+        } else if message.isFromCurrentSender {
             backgroundColor =  DcColors.messagePrimaryColor
         } else {
             backgroundColor = DcColors.messageSecondaryColor