private void AddMessageToDataSource(Twilio.IPMessaging.Message message) { var identity = JsonConvert.DeserializeObject <IdentityToken>(message.Author); // Get Agent Avatar if (identity.identityId != AppSettingsManager.ClientId && GravatarManager.GetImage(GravatarUser.Agent) == null) { GravatarManager.SetImage(GravatarUser.Agent, identity.picture); } // Get Customer Avatar if (identity.identityId == AppSettingsManager.ClientId && GravatarManager.GetImage(GravatarUser.Customer) == null) { GravatarManager.SetImage(GravatarUser.Customer, identity.picture); } var jmsg = new JMessage ( identity.identityId, identity.name, message.DateUpdatedAsDate, message.Body ); messages.Add(jmsg); SystemSoundPlayer.PlayMessageReceivedSound(); FinishReceivingMessage(true); ScrollToBottom(true); }
public override IMessageAvatarImageDataSource GetAvatarImageData(MessagesCollectionView collectionView, NSIndexPath indexPath) { UIImage image = null; var index = (int)indexPath.Item; if (messages[index].SenderId == AppSettingsManager.ClientId) { image = GravatarManager.GetImage(GravatarUser.Customer); } else { image = GravatarManager.GetImage(GravatarUser.Agent); } // Default is (34, 34) for diameter if (image != null) { return(MessagesAvatarImageFactory.CreateAvatarImage(image, 34)); } return(null); }