From d2ad88e9e4b5e89452415e683c5526bec5f53230 Mon Sep 17 00:00:00 2001
From: Kateryna Kostiuk <kateryna.kostiuk@savoirfairelinux.com>
Date: Thu, 23 Apr 2020 14:20:36 -0400
Subject: [PATCH] conversation: fix transfer status

Change-Id: I4fe8e05e663ef8d18a473544fe9ed0940bb5c302
---
 Ring/Ring/Database/DBManager.swift                          | 1 +
 .../Conversation/ConversationViewController.swift           | 6 ++++--
 .../Conversations/Conversation/ConversationViewModel.swift  | 2 +-
 3 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/Ring/Ring/Database/DBManager.swift b/Ring/Ring/Database/DBManager.swift
index ed4c36fcb..5355819dd 100644
--- a/Ring/Ring/Database/DBManager.swift
+++ b/Ring/Ring/Database/DBManager.swift
@@ -118,6 +118,7 @@ enum InteractionStatus: String {
         case .transferOngoing: return DataTransferStatus.ongoing
         case .transferSuccess: return DataTransferStatus.success
         case .transferError: return DataTransferStatus.error
+        case .displayed: return DataTransferStatus.success
         default: return DataTransferStatus.unknown
         }
     }
diff --git a/Ring/Ring/Features/Conversations/Conversation/ConversationViewController.swift b/Ring/Ring/Features/Conversations/Conversation/ConversationViewController.swift
index 5ed4bd4d6..cd50c74ef 100644
--- a/Ring/Ring/Features/Conversations/Conversation/ConversationViewController.swift
+++ b/Ring/Ring/Features/Conversations/Conversation/ConversationViewController.swift
@@ -972,7 +972,7 @@ extension ConversationViewController: UITableViewDataSource {
                     item.bubblePosition() == .generated ? MessageCellGenerated.self :
                     MessageCellGenerated.self
             }
-            if item.message.incoming && item.message.status != .displayed {
+            if item.message.incoming && item.message.status != .displayed && !item.message.isTransfer {
                 self.viewModel
                     .setMessageAsRead(daemonId: item.message.daemonId,
                                       messageId: item.message.messageId)
@@ -1028,7 +1028,9 @@ extension ConversationViewController: UITableViewDataSource {
                                 guard let sectionNumber = tableView?.numberOfSections,
                                 let rowNumber =  tableView?.numberOfRows(inSection: indexPath.section) else {return}
                                 if indexPath.section < sectionNumber && indexPath.section >= 0 {
-                                    if indexPath.row < rowNumber && indexPath.row >= 0 {
+                                    if indexPath.row < rowNumber &&
+                                        indexPath.row >= 0 &&
+                                        indexPath.row != tableView?.numberOfRows(inSection: indexPath.section) {
                                         tableView?
                                             .reloadItemsAtIndexPaths([indexPath],
                                                                      animationStyle: .top)
diff --git a/Ring/Ring/Features/Conversations/Conversation/ConversationViewModel.swift b/Ring/Ring/Features/Conversations/Conversation/ConversationViewModel.swift
index 0e3668305..1e0959673 100644
--- a/Ring/Ring/Features/Conversations/Conversation/ConversationViewModel.swift
+++ b/Ring/Ring/Features/Conversations/Conversation/ConversationViewModel.swift
@@ -366,7 +366,7 @@ class ConversationViewModel: Stateable, ViewModel {
             }).disposed(by: disposeBag)
     }
 
-    func setMessageAsRead (daemonId: String, messageId: Int64) {
+    func setMessageAsRead(daemonId: String, messageId: Int64) {
         guard let account = self.accountService.currentAccount else {
             return
         }
-- 
GitLab