示例#1
0
        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);
        }
示例#2
0
        /// <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);
        }
示例#3
0
        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);
            });
        }
示例#4
0
        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);
            }
        }
示例#5
0
        public static List <AppCore.User> getGroupsTempToList(string APP_PREF, AppPreferences appPref)
        {
            string jsonGroup = appPref.getValueKey(APP_PREF);
            List <AppCore.User> usersGroups = null;

            if (jsonGroup != null || jsonGroup != "")
            {
                usersGroups = LegionUtils.getListJson(jsonGroup);
            }
            else
            {
                usersGroups = new List <User>();
            }
            return(usersGroups);
        }
示例#6
0
        void verifySubscriptFriend()
        {
            List <AppCore.User> friedsReqs = LegionUtils.getListJson(
                appPreferences.getValueKey(AppPreferences.FRIEND_REQUEST));

            if (friedsReqs.Count > 0)
            {
                foreach (AppCore.User u in friedsReqs)
                {
                    RunOnUiThread(() =>
                    {
                        alertSub(this, u);
                    });
                }
            }
        }
示例#7
0
        public List <User> listContacts()
        {
            List <User> uses         = new List <User>();
            List <User> usReturnList = new List <User>();

            jidsPhone = new List <string>();
            if (appPreferences.getValueKey(AppPreferences.CONTACTS) != null)
            {
                uses = LegionUtils.getListJson(appPreferences.getValueKey(AppPreferences.CONTACTS));
                foreach (User u in uses)
                {
                    if (!jidsPhone.Contains(u.Jid))
                    {
                        jidsPhone.Add(u.Jid);
                        usReturnList.Add(u);
                    }
                }
            }

            uses = usReturnList;
            return(uses);
        }
示例#8
0
        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();
        }
示例#9
0
 public void updateComplete()
 {
     this.user.users = LegionUtils.getListJson(appPreferences.getValueKey(AppPreferences.CONTACTS));
     syncContact();
 }