From 053b39083c6a3546983f9f3457fc2f9be0df1b02 Mon Sep 17 00:00:00 2001 From: Benoit Martins Date: Thu, 25 May 2023 10:58:32 +0200 Subject: [PATCH] Add default image when filepath is empty Remove FileTransfer Callbacks when leave chatroom Fix editMode --- .../ChatConversationTableViewSwift.swift | 6 +++ .../Chat/Views/MultilineMessageCell.swift | 44 +++++++++++++------ 2 files changed, 36 insertions(+), 14 deletions(-) diff --git a/Classes/Swift/Chat/Views/ChatConversationTableViewSwift.swift b/Classes/Swift/Chat/Views/ChatConversationTableViewSwift.swift index 388b47233..f10993141 100644 --- a/Classes/Swift/Chat/Views/ChatConversationTableViewSwift.swift +++ b/Classes/Swift/Chat/Views/ChatConversationTableViewSwift.swift @@ -219,12 +219,18 @@ class ChatConversationTableViewSwift: UIViewController, UICollectionViewDataSour func collectionView(_ collectionView: UICollectionView, didEndDisplaying cell: UICollectionViewCell, forItemAt indexPath: IndexPath) { let customCell = cell as! MultilineMessageCell + if customCell.isPlayingVoiceRecording { AudioPlayer.stopSharedPlayer() } + if customCell.ephemeralTimer != nil { customCell.ephemeralTimer?.invalidate() } + + if customCell.chatMessageDelegate != nil { + customCell.chatMessage?.removeDelegate(delegate: customCell.chatMessageDelegate!) + } } func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { diff --git a/Classes/Swift/Chat/Views/MultilineMessageCell.swift b/Classes/Swift/Chat/Views/MultilineMessageCell.swift index cf260432f..0d3cabb88 100644 --- a/Classes/Swift/Chat/Views/MultilineMessageCell.swift +++ b/Classes/Swift/Chat/Views/MultilineMessageCell.swift @@ -1232,6 +1232,17 @@ class MultilineMessageCell: SwipeCollectionViewCell, UICollectionViewDataSource, NSLayoutConstraint.deactivate(imageConstraints) imageViewBubble.isHidden = true } + } else { + if content.filePath == "" { + imagesGridCollectionView.append(SwiftUtil.textToImage(drawText: "Error", inImage: UIImage(named: "file_default")!, forReplyBubble: true)) + collectionViewImagesGrid.reloadData() + + collectionViewImagesGrid.isHidden = false + NSLayoutConstraint.activate(imagesGridConstraints) + imageViewBubble.image = nil + NSLayoutConstraint.deactivate(imageConstraints) + imageViewBubble.isHidden = true + } } }} if imagesGridCollectionView.count > 0 { @@ -1294,23 +1305,27 @@ class MultilineMessageCell: SwipeCollectionViewCell, UICollectionViewDataSource, } imageUser.isHidden = true contentView.onClick { - self.deleteItemCheckBox.isSelected = !self.deleteItemCheckBox.isSelected - ChatConversationTableViewModel.sharedModel.messageListSelected.value![self.selfIndexMessage] = self.deleteItemCheckBox.isSelected - - if ChatConversationTableViewModel.sharedModel.messageListSelected.value![self.selfIndexMessage] == true { - ChatConversationTableViewModel.sharedModel.messageSelected.value! += 1 - }else{ - ChatConversationTableViewModel.sharedModel.messageSelected.value! -= 1 + if ChatConversationTableViewModel.sharedModel.editModeOn.value! { + self.deleteItemCheckBox.isSelected = !self.deleteItemCheckBox.isSelected + ChatConversationTableViewModel.sharedModel.messageListSelected.value![self.selfIndexMessage] = self.deleteItemCheckBox.isSelected + + if ChatConversationTableViewModel.sharedModel.messageListSelected.value![self.selfIndexMessage] == true { + ChatConversationTableViewModel.sharedModel.messageSelected.value! += 1 + }else{ + ChatConversationTableViewModel.sharedModel.messageSelected.value! -= 1 + } } } deleteItemCheckBox.onClick { - self.deleteItemCheckBox.isSelected = !self.deleteItemCheckBox.isSelected - ChatConversationTableViewModel.sharedModel.messageListSelected.value![self.selfIndexMessage] = self.deleteItemCheckBox.isSelected - - if ChatConversationTableViewModel.sharedModel.messageListSelected.value![self.selfIndexMessage] == true { - ChatConversationTableViewModel.sharedModel.messageSelected.value! += 1 - }else{ - ChatConversationTableViewModel.sharedModel.messageSelected.value! -= 1 + if ChatConversationTableViewModel.sharedModel.editModeOn.value! { + self.deleteItemCheckBox.isSelected = !self.deleteItemCheckBox.isSelected + ChatConversationTableViewModel.sharedModel.messageListSelected.value![self.selfIndexMessage] = self.deleteItemCheckBox.isSelected + + if ChatConversationTableViewModel.sharedModel.messageListSelected.value![self.selfIndexMessage] == true { + ChatConversationTableViewModel.sharedModel.messageSelected.value! += 1 + }else{ + ChatConversationTableViewModel.sharedModel.messageSelected.value! -= 1 + } } } }else{ @@ -1815,6 +1830,7 @@ class MultilineMessageCell: SwipeCollectionViewCell, UICollectionViewDataSource, } func file_transfer_progress_indication_recv(message: ChatMessage, content: Content, offset: Int, total: Int) { + print("file_transfer_progress_indication_recvfile_transfer_progress_indication_recv") let p = Float(offset) / Float(total) if ((imagesGridCollectionView.count) > 0){ if !message.isOutgoing {