/// <summary> /// Callback called by LinphoneManager when a message is received. /// </summary> public void MessageReceived(LinphoneChatMessage message) { MessagesList.Dispatcher.BeginInvoke(() => { IncomingChatBubble bubble = new IncomingChatBubble(message); bubble.MessageDeleted += bubble_MessageDeleted; bubble.DownloadImage += bubble_DownloadImage; MessagesList.Children.Insert(MessagesList.Children.Count - 1, bubble); if (chatRoom != null) { chatRoom.MarkAsRead(); } scrollToBottom(); }); }
private void DisplayPastMessages(IList<Object> messages) { foreach (LinphoneChatMessage message in messages) { if (!message.IsOutgoing) { IncomingChatBubble bubble = new IncomingChatBubble(message); bubble.MessageDeleted += bubble_MessageDeleted; bubble.DownloadImage += bubble_DownloadImage; MessagesList.Children.Insert(MessagesList.Children.Count - 1, bubble); } else { OutgoingChatBubble bubble = new OutgoingChatBubble(message); bubble.MessageDeleted += bubble_MessageDeleted; bubble.UpdateStatus(message.State); MessagesList.Children.Insert(MessagesList.Children.Count - 1, bubble); } } scrollToBottom(); }