List <User> usersByRecentConversation(Dictionary <string, AppCore.Message> recents) { List <User> usersFriend = new List <User>(); if (recents != null) { foreach (var item in recents.Reverse()) { AppCore.Message m = item.Value; User friend = new User(); friend.username = item.Key; if (item.Value.GroupId != null) { friend.isGroup = true; } else { friend.Jid = friend.username; } //In Session Phone assumed callback menssages if (LegionUtils.IsBase64String(m.Msg)) { m.Msg = "@ Photo"; } friend.Phone = LegionUtils.Truncate(m.Msg, 26); string photo = appPreferences.getValueKey(friend.username + "_ICON"); if (photo != null || photo != "") { friend.Photo = photo; } usersFriend.Add(friend); } } // add groups list conversations List <AppCore.User> listGroupTmp = getGroupsTempToList(AppPreferences.GROUPS_TEMP); if (listGroupTmp != null) { //var varUser = listGroupTmp.Where(y => usersFriend.Any(z => z.Jid == y.Jid)); List <string> jidstmps = new List <string>(); foreach (AppCore.User u in usersFriend) { jidstmps.Add(u.Jid); } foreach (AppCore.User g in listGroupTmp) { if (!jidstmps.Contains(g.Jid)) { usersFriend.Add(g); } } } return(usersFriend); }