コード例 #1
0
 void addGroupToListUser(AppCore.User user)
 {
     if (user.users.Any(x => !x.Jid.Equals(user.Jid)))
     {
         user.users.Add(user);
     }
 }
コード例 #2
0
        public virtual void OnInvit(object sender, MessageEventArgs e)
        {
            RunOnUiThread(() =>
            {
                List <AppCore.User> groups = getGroupsTempToList(AppPreferences.GROUPS_TEMP);
                string invitFrom           = e.From;
                string managerGroup        = e.Body;

                AppCore.User g = new AppCore.User();
                g.Jid          = invitFrom;
                g.username     = invitFrom;
                g.isGroup      = true;
                groups.Add(g);

                //JoinOnGroup(invitFrom);

                int index = groups.FindIndex(c => c.Jid.Split('@')[0].Equals(e.From.Split('@')[0]));
                groups    = userService.moveItemToFirst(groups, index);
                setLastMsgInPhone(groups, 0, "@Joined the Group");
                saveSeachGroups(groups);

                if (this.GetType() == typeof(SessionActivity))
                {
                    SessionActivity s = (SessionActivity)this;
                    s.updateUIListGroupsUsers(groups);
                }
            });
        }
コード例 #3
0
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);
            SetContentView(Resource.Layout.AddNewGroup);
            userGroups = listContacts();
            group      = new AppCore.User();
            listGroups = LegionUtils.getGroupsTempToList(AppPreferences.GROUPS_TEMP, appPreferences);

            var toolbar = loadToolBar(Resource.String.newGroup);

            toolbar.SetNavigationIcon(Resource.Drawable.back);

            txvNameGroup = (TextView)FindViewById(Resource.Id.groupName);
            imvAvatar    = (ImageView)FindViewById(Resource.Id.avatar);
            imvAvatar.SetBackgroundResource(Resource.Drawable.avatar_upload);

            mRecyclerView  = FindViewById <RecyclerView>(Resource.Id.recyclerView);
            mLayoutManager = new LinearLayoutManager(this);
            mRecyclerView.SetLayoutManager(mLayoutManager);
            NewGroupAdapter userAdapter = new NewGroupAdapter(userGroups, this);

            mRecyclerView.SetAdapter(userAdapter);

            imvAvatar.Click += delegate
            {
                var imageIntent = new Intent();
                imageIntent.SetType("image/*");
                imageIntent.SetAction(Intent.ActionGetContent);
                StartActivityForResult(
                    Intent.CreateChooser(imageIntent, "Select photo"), 0);
            };
        }
コード例 #4
0
        protected void addNewGroup(AppCore.User group)
        {
            group.Jid     = AddNewGroup();
            group.isGroup = true;
            listGroups.Add(group);
            saveSeachGroups(listGroups);

            ChangeGroupSubject(group.Jid, group.username);
            invictFriend(usersIsCheck(userGroups), group.Jid);

            RunOnUiThread(() =>
                          VisibleProgress(Resource.Id.pbHeaderProgress, VISIBLE)
                          );
            Task.Delay(TimeSpan.FromSeconds(5)).Wait();

            string groupJson = LegionUtils.parceToGson(group);

            appPreferences.saveKey(AppPreferences.GROUP_JSON, groupJson);

            var activityChat = new Intent(this, typeof(ChatActivity));

            activityChat.PutExtra("chatGroup", true);
            activityChat.PutExtra("groupJson", "");
            activityChat.PutExtra("isFromGroup", true);

            this.StartActivity(activityChat);
            OverridePendingTransition(Resource.Animator.slide_out_right, Resource.Animator.stable);
            RunOnUiThread(() =>
                          VisibleProgress(Resource.Id.pbHeaderProgress, INVISIBLE)
                          );
        }
コード例 #5
0
        void editIndexGroupFromCard(AppCore.User userIndex)
        {
            if (user.users.Count > 0)
            {
                var index = user.users.FindIndex(c => (c.isGroup == true) && (c.Jid.Split('@')[0] == userIndex.Jid.Split('@')[0]));
                user.users[index].username = userIndex.username;
                user.users[index].Nick     = userIndex.Nick;
            }

            updateListCardUi();
        }
コード例 #6
0
        public void removeGroup(User groupName)
        {
            this.App.Xmpp.DestroyGroup(groupName.Jid);

            AppCore.User user = new AppCore.User();
            user.users = getGroupsTempToList(AppPreferences.GROUPS_TEMP);

            var itemToRemove = user.users.Single(r => r.Jid.Equals(groupName.Jid));

            user.users.Remove(itemToRemove);

            user.users.Remove(groupName);
            saveSeachGroups(user.users);
        }
コード例 #7
0
        public void Xmpp_OnJoinGroup(object sender, string roomJid)
        {
            Messaging.Log.Info("joined a room " + roomJid);
            if (roomJid != null)
            {
                List <AppCore.User> userGroups = getGroupsTempToList(AppPreferences.GROUPS_TEMP);
                AppCore.User        group      = new AppCore.User();
                group.Jid     = roomJid + "@" + AppCore.Utils._MUS_SERVER;
                group.isGroup = true;

                if (userGroups.Any(x => !x.Jid.Equals(group.Jid)))
                {
                    userGroups.Add(group);
                    saveSeachGroups(userGroups);
                }
            }
        }
コード例 #8
0
        protected virtual void OnInvit(object sender, MessageEventArgs e)
        {
            //RunOnUiThread(() =>
            //{
            List <AppCore.User> groups = getGroupsTempToList(AppPreferences.GROUPS_TEMP);
            string invitFrom           = e.From;
            string invitGroup          = e.Body;

            AppCore.User g = new AppCore.User();
            g.Jid      = invitGroup;
            g.username = invitGroup;
            g.isGroup  = true;
            groups.Add(g);
            saveSeachGroups(groups);

            // });
        }
コード例 #9
0
        protected override void RefrashRecycleView(AppCore.User friend)
        {
            if (msgs == null || msgs.Count <= 0)
            {
                return;
            }
            RunOnUiThread(() =>
            {
                rvList.SetLayoutManager(mLayoutManager);
                ChateCardAdapter adapter = new ChateCardAdapter(friend, this, message, msgs);
                rvList.SetAdapter(adapter);

                //Seta o tamanho da lista para o scroll ir para o final da lista
                rvList.SmoothScrollToPosition(msgs.Count - 1);
                adapter.NotifyDataSetChanged();
            });
        }
コード例 #10
0
        protected override void Xmpp_OnListGroup(object sender, string[] rooms)
        {
            List <AppCore.User> groups = new List <AppCore.User>();

            foreach (string room in rooms)
            {
                AppCore.User gUser = userService.turnGroupToUserToList(room, room);
                groups.Add(gUser);
                user.users.Add(gUser);
                JoinOnGroup(room);
            }

            if (groups.Count > 0)
            {
                saveSeachGroups(groups);
            }

            updateListCardUi();
        }
コード例 #11
0
ファイル: LoginActivity.cs プロジェクト: filiperamon/Beet
        protected override void Xmpp_OnListGroup(object sender, string[] rooms)
        {
            if (rooms.Length == 0)
            {
                doLoginOnAPP();
            }

            List <AppCore.User> groups = new List <AppCore.User>();

            foreach (string room in rooms)
            {
                AppCore.User gUser = userService.turnGroupToUserToList(room, room);
                groups.Add(gUser);

                if (room.Equals(rooms[rooms.Length - 1]))
                {
                    saveSeachGroups(groups);
                    doLoginOnAPP();
                }
            }
        }
コード例 #12
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();
        }
コード例 #13
0
 protected virtual void RefrashRecycleView(AppCore.User friend)
 {
 }