diff --git a/Classes/ChatsListTableView.m b/Classes/ChatsListTableView.m index 1657ad7f0..6ab88aa0b 100644 --- a/Classes/ChatsListTableView.m +++ b/Classes/ChatsListTableView.m @@ -20,7 +20,7 @@ #import "ChatsListTableView.h" #import "UIChatCell.h" #import "FileTransferDelegate.h" - +#import "linphoneapp-Swift.h" #import "linphone/linphonecore.h" #import "PhoneMainView.h" #import "Utils.h" @@ -213,7 +213,7 @@ static int sorted_history_comparison(LinphoneChatRoom *to_insert, LinphoneChatRo [cell setChatRoom:(LinphoneChatRoom *)bctbx_list_nth_data(_data, (int)[indexPath row])]; [super accessoryForCell:cell atPath:indexPath]; - BOOL forwardMode = VIEW(ChatConversationView).pendingForwardMessage != nil; + BOOL forwardMode = VIEW(ChatConversationViewSwift).pendingForwardMessage != nil; cell.forwardIcon.hidden = !forwardMode; if (forwardMode) { cell.ephemeral.hidden = true; diff --git a/Classes/ChatsListView.m b/Classes/ChatsListView.m index 35ed3287d..3a62c0358 100644 --- a/Classes/ChatsListView.m +++ b/Classes/ChatsListView.m @@ -74,7 +74,7 @@ if(dict||dictFile||dictUrl) VIEW(ChatConversationView).sharingMedia = TRUE; if(VIEW(ChatConversationView).sharingMedia == nil){ - forwardMode = VIEW(ChatConversationView).pendingForwardMessage != nil; + forwardMode = VIEW(ChatConversationViewSwift).pendingForwardMessage != nil; }else{ forwardMode = VIEW(ChatConversationView).sharingMedia != nil; } @@ -202,7 +202,7 @@ static UICompositeViewDescription *compositeDescription = nil; - (IBAction)onCancelForwardClicked:(id)sender { VIEW(ChatConversationView).sharingMedia = nil; - VIEW(ChatConversationView).pendingForwardMessage = nil; + VIEW(ChatConversationViewSwift).pendingForwardMessage = nil; NSString* groupName = [NSString stringWithFormat:@"group.%@.linphoneExtension",[[NSBundle mainBundle] bundleIdentifier]]; NSUserDefaults *defaults = [[NSUserDefaults alloc] initWithSuiteName:groupName]; [defaults removeObjectForKey:@"photoData"]; diff --git a/Classes/LinphoneUI/UIChatBubbleTextCell.m b/Classes/LinphoneUI/UIChatBubbleTextCell.m index 251c07a78..7943c7d8d 100644 --- a/Classes/LinphoneUI/UIChatBubbleTextCell.m +++ b/Classes/LinphoneUI/UIChatBubbleTextCell.m @@ -891,7 +891,7 @@ static const CGFloat REPLY_OR_FORWARD_TAG_HEIGHT = 18; [_messageActionsIcons addObject:@"menu_forward_default"]; [_messageActionsBlocks addObject:^{ [thiz dismissPopup]; - VIEW(ChatConversationView).pendingForwardMessage = message; + VIEW(ChatConversationViewSwift).pendingForwardMessage = message; [PhoneMainView.instance changeCurrentView:VIEW(ChatsListView).compositeViewDescription]; }]; diff --git a/Classes/Swift/Chat/Views/ChatConversationViewSwift.swift b/Classes/Swift/Chat/Views/ChatConversationViewSwift.swift index 85b8d49ae..40441e34d 100644 --- a/Classes/Swift/Chat/Views/ChatConversationViewSwift.swift +++ b/Classes/Swift/Chat/Views/ChatConversationViewSwift.swift @@ -134,6 +134,7 @@ import AVFoundation var data : [Data?] = [] var mediaCount : Int = 0 var newMediaCount : Int = 0 + @objc var pendingForwardMessage : OpaquePointer? = nil override func viewDidLoad() { @@ -203,6 +204,8 @@ import AVFoundation self.messageView.pictureButton.isEnabled = true } } + + self.handlePendingTransferIfAny() } override func viewWillDisappear(_ animated: Bool) { @@ -1297,7 +1300,7 @@ import AVFoundation } func handlePendingTransferIfAny() { - if pendingForwardMessage { + if (pendingForwardMessage != nil) { let message = pendingForwardMessage pendingForwardMessage = nil let d = UIConfirmationDialog.show( @@ -1307,10 +1310,10 @@ import AVFoundation onCancelClick: { }, onConfirmationClick: { - linphone_chat_message_send(linphone_chat_room_create_forward_message(chatRoom, message)) + linphone_chat_message_send(linphone_chat_room_create_forward_message(self.chatRoom?.getCobject, message)) }) - d?.forwardImage.hidden = false + d?.forwardImage.isHidden = false d?.setSpecialColor() } }