private void SearchView_OnTextSubmit(object sender, SearchView.QueryTextSubmitEventArgs e)
        {
            try
            {
                SearchText = e.NewText;

                SearchView.ClearFocus();

                MAdapter.UserList.Clear();
                MAdapter.NotifyDataSetChanged();

                StartSearchRequest();

                //Hide keyboard programmatically in MonoDroid
                e.Handled = true;

                SearchView.ClearFocus();

                var inputManager = (InputMethodManager)GetSystemService(InputMethodService);
                inputManager.HideSoftInputFromWindow(ToolBar.WindowToken, 0);
            }
            catch (Exception exception)
            {
                Console.WriteLine(exception);
            }
        }
Ejemplo n.º 2
0
        private void ConnectViews(View view)
        {
            BtnPanic            = view.FindViewById <MaterialButton>(Resource.Id.BtnPanic);
            txt_invite_count    = view.FindViewById <TextView>(Resource.Id.txt_invite_count);
            FabInvites          = view.FindViewById <FloatingActionButton>(Resource.Id.FabInvites);
            recycler            = view.FindViewById <RecyclerView>(Resource.Id.recyclerContactsList);
            BtnPanic.LongClick += BtnPanic_LongClick;

            BtnPanic.Click += BtnPanic_Click;

            FabInvites.Click += FabInvites_Click;


            LinearLayoutManager linearLayoutManager = new LinearLayoutManager(context);
            ContactsAdapter     adapter             = new ContactsAdapter(items);

            linearLayoutManager.Orientation = RecyclerView.Horizontal;
            recycler.HasFixedSize           = true;
            recycler.SetLayoutManager(linearLayoutManager);

            recycler.SetAdapter(adapter);
            adapter.ItemClick += Adapter_ItemClick1;

            CrossCloudFirestore.Current.Instance
            .Collection("PEOPLE")
            .AddSnapshotListener((value, errors) =>
            {
                if (!value.IsEmpty)
                {
                    foreach (var dc in value.DocumentChanges)
                    {
                        var users = dc.Document.ToObject <AppUsers>();
                        switch (dc.Type)
                        {
                        case DocumentChangeType.Added:
                            items.Add(users);
                            adapter.NotifyDataSetChanged();
                            break;

                        case DocumentChangeType.Modified:
                            items[dc.OldIndex] = users;
                            //Toast.MakeText(context, items[dc.OldIndex].Id, ToastLength.Long).Show();
                            adapter.NotifyDataSetChanged();
                            break;

                        case DocumentChangeType.Removed:
                            items.RemoveAt(dc.OldIndex);
                            adapter.NotifyDataSetChanged();
                            break;

                        default:
                            break;
                        }
                    }
                }
            });


            IsPlayServiceAvailabe();
        }
Ejemplo n.º 3
0
        //Refresh
        private void SwipeRefreshLayoutOnRefresh(object sender, EventArgs e)
        {
            try
            {
                MAdapter.UserList.Clear();
                MAdapter.NotifyDataSetChanged();

                StartApiService();
            }
            catch (Exception exception)
            {
                Methods.DisplayReportResultTrack(exception);
            }
        }
        //Refresh
        private void SwipeRefreshLayoutOnRefresh(object sender, EventArgs e)
        {
            try
            {
                MAdapter.UserList.Clear();
                MAdapter.NotifyDataSetChanged();

                StartApiService();
            }
            catch (Exception exception)
            {
                Console.WriteLine(exception);
            }
        }
Ejemplo n.º 5
0
        private void SetRecyclerViewAdapters()
        {
            try
            {
                MAdapter = new ContactsAdapter(this, false, ContactsAdapter.TypeTextSecondary.About)
                {
                    UserList = new ObservableCollection <UserDataObject>(),
                };
                LayoutManager = new LinearLayoutManager(this);
                MRecycler.SetLayoutManager(LayoutManager);
                MRecycler.HasFixedSize = true;
                MRecycler.SetItemViewCacheSize(10);
                MRecycler.GetLayoutManager().ItemPrefetchEnabled = true;
                var sizeProvider = new FixedPreloadSizeProvider(10, 10);
                var preLoader    = new RecyclerViewPreloader <UserDataObject>(this, MAdapter, sizeProvider, 10);
                MRecycler.AddOnScrollListener(preLoader);
                MRecycler.SetAdapter(MAdapter);

                MRecycler.Visibility = ViewStates.Visible;

                // Add first image Default
                MAdapter.UserList.Add(new UserDataObject()
                {
                    UserId = "0",
                    Avatar = "addImage",
                    Name   = GetString(Resource.String.Lbl_AddParticipants),
                    About  = GetString(Resource.String.Lbl_Group_Add_Description),
                });
                MAdapter.NotifyDataSetChanged();
            }
            catch (Exception e)
            {
                Methods.DisplayReportResultTrack(e);
            }
        }
        //Refresh
        private void SwipeRefreshLayoutOnRefresh(object sender, EventArgs e)
        {
            try
            {
                MAdapter.UserList.Clear();
                MAdapter.NotifyDataSetChanged();

                MainScrollEvent.IsLoading = false;

                switch (NamePage)
                {
                case "Post":
                    ContextMainPost.StartApiService();
                    break;

                case "Comment":
                case "Reply":
                    ContextMainComment.StartApiService();
                    break;
                }
            }
            catch (Exception exception)
            {
                Methods.DisplayReportResultTrack(exception);
            }
        }
Ejemplo n.º 7
0
        //Refresh
        private void SwipeRefreshLayoutOnRefresh(object sender, EventArgs e)
        {
            try
            {
                MAdapter.UsersList.Clear();
                MAdapter.NotifyDataSetChanged();

                MRecycler.Visibility        = ViewStates.Visible;
                EmptyStateLayout.Visibility = ViewStates.Gone;

                StartApiService();
            }
            catch (Exception exception)
            {
                Console.WriteLine(exception);
            }
        }
        private void Search()
        {
            try
            {
                if (!string.IsNullOrEmpty(SearchText))
                {
                    if (Methods.CheckConnectivity())
                    {
                        MAdapter?.UserList?.Clear();
                        MAdapter?.NotifyDataSetChanged();

                        if (!SwipeRefreshLayout.Refreshing)
                        {
                            SwipeRefreshLayout.Refreshing = true;
                        }

                        if (EmptyStateLayout != null)
                        {
                            EmptyStateLayout.Visibility = ViewStates.Gone;
                        }

                        StartSearchRequest();
                    }
                }
                else
                {
                    if (Inflated == null)
                    {
                        Inflated = EmptyStateLayout?.Inflate();
                    }

                    EmptyStateInflater x = new EmptyStateInflater();
                    x.InflateLayout(Inflated, EmptyStateInflater.Type.NoSearchResult);
                    if (!x.EmptyStateButton.HasOnClickListeners)
                    {
                        x.EmptyStateButton.Click -= EmptyStateButtonOnClick;
                        x.EmptyStateButton.Click -= TryAgainButton_Click;
                    }

                    x.EmptyStateButton.Click += TryAgainButton_Click;
                    if (EmptyStateLayout != null)
                    {
                        EmptyStateLayout.Visibility = ViewStates.Visible;
                    }

                    if (SwipeRefreshLayout.Refreshing)
                    {
                        SwipeRefreshLayout.Refreshing = false;
                    }
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }
        //Result
        protected override void OnActivityResult(int requestCode, Result resultCode, Intent data)
        {
            try
            {
                base.OnActivityResult(requestCode, resultCode, data);
                //If its from Camera or Gallery
                if (requestCode == CropImage.CropImageActivityRequestCode)
                {
                    var result = CropImage.GetActivityResult(data);

                    if (resultCode == Result.Ok)
                    {
                        if (result.IsSuccessful)
                        {
                            var resultUri = result.Uri;

                            if (!string.IsNullOrEmpty(resultUri.Path))
                            {
                                GroupPathImage = resultUri.Path;
                                File file2    = new File(resultUri.Path);
                                var  photoUri = FileProvider.GetUriForFile(this, PackageName + ".fileprovider", file2);
                                Glide.With(this).Load(photoUri).Apply(new RequestOptions()).Into(ImageGroup);
                            }
                            else
                            {
                                Toast.MakeText(this, GetText(Resource.String.Lbl_Something_went_wrong), ToastLength.Long).Show();
                            }
                        }
                    }
                }
                else if (requestCode == 3)
                {
                    var users = data.GetStringExtra("Users") ?? "";
                    UserList = JsonConvert.DeserializeObject <List <UserDataObject> >(users);

                    UsersIds = "";
                    foreach (var user in UserList)
                    {
                        UsersIds += user.UserId + ",";

                        var dataUser = MAdapter.UserList.FirstOrDefault(attachments => attachments.UserId == user.UserId);
                        if (dataUser == null)
                        {
                            MAdapter.UserList.Insert(1, user);
                        }
                    }
                    UsersIds = UsersIds.Remove(UsersIds.Length - 1, 1);

                    MAdapter.NotifyDataSetChanged();
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }
Ejemplo n.º 10
0
        public void Search()
        {
            try
            {
                if (!string.IsNullOrEmpty(SearchText))
                {
                    if (Methods.CheckConnectivity())
                    {
                        MAdapter?.UserList?.Clear();
                        MAdapter?.NotifyDataSetChanged();

                        if (ProgressBarLoader != null)
                        {
                            ProgressBarLoader.Visibility = ViewStates.Visible;
                        }

                        if (EmptyStateLayout != null)
                        {
                            EmptyStateLayout.Visibility = ViewStates.Gone;
                        }

                        MainScrollEvent.IsLoading = false;

                        StartApiService();
                    }
                }
                else
                {
                    if (Inflated == null)
                    {
                        Inflated = EmptyStateLayout?.Inflate();
                    }

                    EmptyStateInflater x = new EmptyStateInflater();
                    x.InflateLayout(Inflated, EmptyStateInflater.Type.NoSearchResult);
                    if (!x.EmptyStateButton.HasOnClickListeners)
                    {
                        x.EmptyStateButton.Click -= EmptyStateButtonOnClick;
                        x.EmptyStateButton.Click -= TryAgainButton_Click;
                    }

                    x.EmptyStateButton.Click += TryAgainButton_Click;
                    if (EmptyStateLayout != null)
                    {
                        EmptyStateLayout.Visibility = ViewStates.Visible;
                    }

                    ProgressBarLoader.Visibility = ViewStates.Gone;
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }
Ejemplo n.º 11
0
        private void SearchViewOnQueryTextSubmit(object sender, SearchView.QueryTextSubmitEventArgs e)
        {
            try
            {
                SearchText = e.NewText;

                SearchView.ClearFocus();

                MAdapter.UserList.Clear();
                MAdapter.NotifyDataSetChanged();

                OffsetUser = "******";

                if (Methods.CheckConnectivity())
                {
                    if (MAdapter.UserList.Count > 0)
                    {
                        MAdapter.UserList.Clear();
                        MAdapter.NotifyDataSetChanged();
                    }

                    ProgressBarLoader.Visibility = ViewStates.Visible;
                    EmptyStateLayout.Visibility  = ViewStates.Gone;
                    StartApiService();
                }
                else
                {
                    if (Inflated == null)
                    {
                        Inflated = EmptyStateLayout.Inflate();
                    }

                    EmptyStateInflater x = new EmptyStateInflater();
                    x.InflateLayout(Inflated, EmptyStateInflater.Type.NoConnection);
                    if (!x.EmptyStateButton.HasOnClickListeners)
                    {
                        x.EmptyStateButton.Click -= EmptyStateButtonOnClick;
                        x.EmptyStateButton.Click -= TryAgainButton_Click;
                    }

                    x.EmptyStateButton.Click    += TryAgainButton_Click;
                    ProgressBarLoader.Visibility = ViewStates.Gone;
                    EmptyStateLayout.Visibility  = ViewStates.Visible;
                }
            }
            catch (Exception exception)
            {
                Console.WriteLine(exception);
            }
        }
        //Result
        protected override async void OnActivityResult(int requestCode, Result resultCode, Intent data)
        {
            try
            {
                base.OnActivityResult(requestCode, resultCode, data);
                //If its from Camera or Gallery
                if (requestCode == CropImage.CropImageActivityRequestCode)
                {
                    var result = CropImage.GetActivityResult(data);

                    if (resultCode == Result.Ok)
                    {
                        if (result.IsSuccessful)
                        {
                            var resultUri = result.Uri;

                            if (!string.IsNullOrEmpty(resultUri.Path))
                            {
                                GroupPathImage = resultUri.Path;
                                File file2    = new File(resultUri.Path);
                                var  photoUri =
                                    FileProvider.GetUriForFile(this, PackageName + ".fileprovider", file2);
                                Glide.With(this).Load(photoUri).Apply(new RequestOptions()).Into(ImageGroup);

                                //GlideImageLoader.LoadImage(this, resultUri.Path, ImageGroup, ImageStyle.RoundedCrop, ImagePlaceholders.Drawable);
                            }
                            else
                            {
                                Toast.MakeText(this, GetText(Resource.String.Lbl_Something_went_wrong),
                                               ToastLength.Long).Show();
                            }
                        }
                    }
                }
                else if (requestCode == 3)
                {
                    NewUserList = MentionActivity.MAdapter.MentionList.Where(a => a.Selected).ToList();

                    UsersIds = "";
                    foreach (var user in NewUserList)
                    {
                        UsersIds += user.UserId + ",";

                        var dataUser =
                            MAdapter.UserList.FirstOrDefault(attachments => attachments.UserId == user.UserId);
                        if (dataUser == null)
                        {
                            MAdapter.UserList.Add(user);
                        }
                    }

                    UsersIds = UsersIds.Remove(UsersIds.Length - 1, 1);

                    MAdapter.NotifyDataSetChanged();

                    var(apiStatus, respond) = await RequestsAsync.GroupChat
                                              .AddOrRemoveUserToGroup(GroupData.GroupId, UsersIds, "add_user").ConfigureAwait(false);

                    if (apiStatus == 200)
                    {
                    }
                    else
                    {
                        Methods.DisplayReportResult(this, respond);
                    }
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }
Ejemplo n.º 13
0
 public void ReloadTableView()
 {
     _contactsAdapter.NotifyDataSetChanged();
 }
Ejemplo n.º 14
0
        //Result
        protected override void OnActivityResult(int requestCode, Result resultCode, Intent data)
        {
            try
            {
                base.OnActivityResult(requestCode, resultCode, data);
                switch (requestCode)
                {
                //If its from Camera or Gallery
                case CropImage.CropImageActivityRequestCode when resultCode == Result.Ok:
                {
                    var result = CropImage.GetActivityResult(data);

                    if (resultCode == Result.Ok)
                    {
                        if (result.IsSuccessful)
                        {
                            var resultUri = result.Uri;

                            if (!string.IsNullOrEmpty(resultUri.Path))
                            {
                                GroupPathImage = resultUri.Path;
                                File file2    = new File(resultUri.Path);
                                var  photoUri = FileProvider.GetUriForFile(this, PackageName + ".fileprovider", file2);
                                Glide.With(this).Load(photoUri).Apply(new RequestOptions()).Into(ImageGroup);
                            }
                            else
                            {
                                Toast.MakeText(this, GetText(Resource.String.Lbl_something_went_wrong), ToastLength.Long)?.Show();
                            }
                        }
                    }

                    break;
                }

                case 3:
                {
                    UserList = MentionActivity.MAdapter.MentionList.Where(a => a.Selected).ToList();

                    UsersIds = "";
                    foreach (var user in UserList)
                    {
                        UsersIds += user.UserId + ",";

                        var dataUser = MAdapter.UserList.FirstOrDefault(attachments => attachments.UserId == user.UserId);
                        if (dataUser == null)
                        {
                            MAdapter.UserList.Insert(1, user);
                        }
                    }
                    UsersIds = UsersIds.Remove(UsersIds.Length - 1, 1);

                    MAdapter.NotifyDataSetChanged();
                    break;
                }
                }
            }
            catch (Exception e)
            {
                Methods.DisplayReportResultTrack(e);
            }
        }
Ejemplo n.º 15
0
        private async Task StartSearchRequest()
        {
            if (MainScrollEvent.IsLoading)
            {
                return;
            }

            MainScrollEvent.IsLoading = true;
            int countUserList = MAdapter.UserList.Count;

            var dictionary = new Dictionary <string, string>
            {
                { "user_id", UserDetails.UserId },
                { "limit", "30" },
                { "user_offset", OffsetUser },
                { "gender", UserDetails.SearchGender },
                { "search_key", SearchText },
                { "country", UserDetails.SearchCountry },
                { "status", UserDetails.SearchStatus },
                { "verified", UserDetails.SearchVerified },
                { "filterbyage", UserDetails.SearchFilterByAge },
                { "age_from", UserDetails.SearchAgeFrom },
                { "age_to", UserDetails.SearchAgeTo },
                { "image", UserDetails.SearchProfilePicture },
            };

            (int apiStatus, var respond) = await RequestsAsync.Global.Get_Search(dictionary);

            if (apiStatus == 200)
            {
                if (respond is GetSearchObject result)
                {
                    var respondUserList = result.Users?.Count;
                    if (respondUserList > 0)
                    {
                        if (countUserList > 0)
                        {
                            foreach (var item in from item in result.Users let check = MAdapter.UserList.FirstOrDefault(a => a.UserId == item.UserId) where check == null select item)
                            {
                                MAdapter.UserList.Add(item);
                            }

                            RunOnUiThread(() => { MAdapter.NotifyItemRangeInserted(countUserList, MAdapter.UserList.Count - countUserList); });
                        }
                        else
                        {
                            MAdapter.UserList = new ObservableCollection <UserDataObject>(result.Users);
                            RunOnUiThread(() => { MAdapter.NotifyDataSetChanged(); });
                        }
                    }
                    else
                    {
                        if (MAdapter.UserList.Count > 10 && !MRecycler.CanScrollVertically(1))
                        {
                            Toast.MakeText(this, GetText(Resource.String.Lbl_No_more_users), ToastLength.Short).Show();
                        }
                    }
                }
            }
            else
            {
                Methods.DisplayReportResult(this, respond);
            }

            RunOnUiThread(ShowEmptyPage);
        }
Ejemplo n.º 16
0
 private void OnSearchEvent(string searchText)
 {
     contactsAdapter.NotifyDataSetChanged();
 }