protected virtual void XmppClient_OnRosterItem(object sender, Matrix.Xmpp.Roster.RosterEventArgs e) { List <AppCore.User> uses = LegionUtils.getListJson(appPreferences.getValueKey(AppPreferences.CONTACTS)); uses.Add(new AppCore.User(e.RosterItem.Jid.Bare, e.RosterItem.Jid.Bare.Split('@')[0])); LegionUtils.saveFoundContacts(uses, appPreferences, AppPreferences.CONTACTS); }
/// <summary> /// Example of how to handle an incoming friend request /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected virtual void Xmpp_OnSubscribeRequest(object sender, SubscribeRequestEventArgs e) { List <AppCore.User> friedsReqs = LegionUtils.getListJson( appPreferences.getValueKey(AppPreferences.FRIEND_REQUEST)); friedsReqs.Add(new AppCore.User(e.From, e.From.Split('@')[0])); LegionUtils.saveFoundContacts(friedsReqs, appPreferences, AppPreferences.FRIEND_REQUEST); }
public void Xmpp_OnSubscribeRequest(object sender, SubscribeRequestEventArgs e) { ThreadPool.QueueUserWorkItem(o => { List <AppCore.User> friedsReqs = LegionUtils.getListJson( appPreferences.getValueKey(AppPreferences.FRIEND_REQUEST)); friedsReqs.Add(new AppCore.User(e.From, e.From.Split('@')[0])); LegionUtils.saveFoundContacts(friedsReqs, appPreferences, AppPreferences.FRIEND_REQUEST); }); }
public void XmppClient_OnRosterItem(object sender, Matrix.Xmpp.Roster.RosterEventArgs e) { List <AppCore.User> uses = LegionUtils.getListJson(appPreferences.getValueKey(AppPreferences.CONTACTS)); uses.Add(new AppCore.User(e.RosterItem.Jid.Bare, e.RosterItem.Jid.Bare.Split('@')[0])); LegionUtils.saveFoundContacts(uses, appPreferences, AppPreferences.CONTACTS); if (context.GetType() == typeof(ContacPhoneActivity)) { ContacPhoneActivity cpa = (ContacPhoneActivity)context; cpa.XmppClient_OnRosterItem(sender, e); } }
void validaSaveContactNext() { Log.Info("Load Contacts Complete"); if (user.users.Count > 0) { LegionUtils.saveFoundContacts(user.users.Distinct().ToList(), appPreferences, AppPreferences.CONTACTS); updateComplete(); } else { updateComplete(); } }
void validaSaveContactNext() { if (totalContactReady == this.users.Count) { Log.Info("Load Contacts Complete"); if (contactJIdList.Count > 0) { LegionUtils.saveFoundContacts(contactJIdList, appPreferences, AppPreferences.CONTACTS); loadNewActivity(); } else { loadNewActivity(); } } }
private void syncContact() { List <User> vCards = new List <User>(); if (lastContacts != null && lastContacts.Count > 0) { foreach (AppCore.User u in lastContacts) { if (user.users.Any(c => c.Jid != u.Jid)) { user.users.Add(u); } } } foreach (User contac in user.users) { if (contac.Jid == null || contac.Jid == "") { return; } App.Instance.Xmpp.GetVCard(contac.Jid, delegate(object s, Matrix.Xmpp.Client.IqEventArgs eIq) { var vc = eIq.Iq.Query as Matrix.Xmpp.Vcard.Vcard; vc.Jid = contac.Jid; if (vc.Jid != null && vc.Jid != "") { vCards.Add(userService.getValidUser(vc, GetString(Resource.String.jid))); if (vCards.Count >= user.users.Count) { LegionUtils.saveFoundContacts(vCards, appPreferences, AppPreferences.CONTACTS); this.user.users = vCards; updateListCardUi(); appPreferences.saveKey(AppPreferences.FIRST_ACCESS, false); } } }); } }
public void alertSub(Activity actualActivity, AppCore.User u) { List <AppCore.User> uses = LegionUtils.getListJson(appPreferences.getValueKey(AppPreferences.CONTACTS)); new AlertDialog.Builder(actualActivity) .SetPositiveButton("Yes", (s, args) => { Log.Info("Accept friend request"); this.App.Xmpp.Approve(u.Jid); uses.Add(u); LegionUtils.saveFoundContacts(uses, appPreferences, AppPreferences.CONTACTS); LegionUtils.saveFoundContacts(new List <AppCore.User>(), appPreferences, AppPreferences.FRIEND_REQUEST); appPreferences.saveKey(AppPreferences.FIRST_ACCESS, true); }) .SetNegativeButton("No", (s, args) => { Log.Info("Deny friend request"); this.App.Xmpp.Deny(u.Jid); }) .SetTitle("Friend Request") .SetMessage("Would you like to add " + u.Jid + " as a friend?") .Show(); }