Ejemplo n.º 1
0
        // Replace the contents of a view (invoked by the layout manager)
        public override void OnBindViewHolder(RecyclerView.ViewHolder viewHolder, int position)
        {
            try
            {
                if (viewHolder is SuggestionsAdapterViewHolder holder)
                {
                    var item = NearByList[position];
                    if (item != null)
                    {
                        holder.Name.Text = Methods.FunString.SubStringCutOf(QuickDateTools.GetNameFinal(item), 10);

                        GlideImageLoader.LoadImage(ActivityContext, item.Avater, holder.Image, ImageStyle.CircleCrop, ImagePlaceholders.Drawable);

                        holder.ImageOnline.Visibility = QuickDateTools.GetStatusOnline(item.Lastseen, item.Online) ? ViewStates.Visible : ViewStates.Gone;

                        holder.Verified.Visibility = item.VerifiedFinal != null && item.VerifiedFinal.Value ? ViewStates.Visible : ViewStates.Gone;

                        if (position == 1)
                        {
                            var height = holder.MainLayout.LayoutParameters.Height;
                            if (height <= 450)
                            {
                                holder.MainLayout.LayoutParameters.Height = height + 150;
                            }
                        }
                    }
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }
Ejemplo n.º 2
0
        public override View GetView(int position, View convertView, ViewGroup parent)
        {
            try
            {
                var            view = convertView;
                UserInfoObject item = UsersDateList[position];
                if (item == null)
                {
                    return(view);
                }
                CardAdapterViewHolder holder = null;

                if (view != null)
                {
                    holder = view.Tag as CardAdapterViewHolder;
                }

                if (holder == null)
                {
                    var inflater = ActivityContext.GetSystemService(Context.LayoutInflaterService).JavaCast <LayoutInflater>();
                    view = inflater.Inflate(Resource.Layout.Style_DatingCardview, parent, false);

                    string name = QuickDateTools.GetNameFinal(item);

                    string city = !string.IsNullOrEmpty(item.City) ? item.City : ActivityContext.GetText(Resource.String.Lbl_Unknown);

                    holder = new CardAdapterViewHolder(view)
                    {
                        Name = { Text = name },
                        City = { Text = city }
                    };

                    Glide.With(ActivityContext).Load(item.Avater).Apply(new RequestOptions()).Into(holder.Image);

                    //GlideImageLoader.LoadImage(ActivityContext, item.Avater, holder.Image, ImageStyle.CenterCrop, ImagePlaceholders.Drawable,false);

                    FontUtils.SetTextViewIcon(FontsIconFrameWork.IonIcons, holder.Status, IonIconsFonts.Record);
                    holder.Status.SetTextColor(Color.Green);

                    holder.Status.Visibility = QuickDateTools.GetStatusOnline(item.Lastseen, item.Online) ? ViewStates.Visible : ViewStates.Gone;

                    if (!holder.MainWhiteBox.HasOnClickListeners)
                    {
                        holder.MainWhiteBox.Click += delegate
                        {
                            QuickDateTools.OpenProfile(ActivityContext, "LikeAndMoveCardMach", item, holder.Image);
                        };
                    }

                    view.Tag = holder;
                }

                return(view);
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                return(null);
            }
        }
Ejemplo n.º 3
0
        public override void OnBindViewHolder(RecyclerView.ViewHolder viewHolder, int position)
        {
            try
            {
                if (viewHolder is CardAdapter2ViewHolder holder)
                {
                    var item = UsersDateList[position];
                    if (item != null)
                    {
                        GlideImageLoader.LoadImage(ActivityContext, item.Avater, holder.ImgUser, ImageStyle.CenterCrop, ImagePlaceholders.Drawable);
                        //holder.CountImage.Text = item.Mediafiles.Count.ToString();

                        if (item.Age != null)
                        {
                            holder.TxtName.Text = Methods.FunString.SubStringCutOf(QuickDateTools.GetNameFinal(item), 20) + " , " + item.Age;
                        }
                        else if (!string.IsNullOrEmpty(item.Birthday) && item.Birthday != "0000-00-00" && item.Birthday != "0")
                        {
                            //1997-05-28
                            var units = item.Birthday.Split('-');

                            var year = Convert.ToInt32(units[0]);
                            if (units[1][0] == '0')
                            {
                                units[1] = units[1][1].ToString();
                            }

                            var month = Convert.ToInt32(units[1]);

                            if (units[2][0] == '0')
                            {
                                units[2] = units[2][1].ToString();
                            }

                            var day = Convert.ToInt32(units[2]);

                            DateTime now      = DateTime.Now;
                            DateTime birthday = new DateTime(year, month, day);
                            int      age      = now.Year - birthday.Year;
                            if (now < birthday.AddYears(age))
                            {
                                age--;
                            }

                            holder.TxtName.Text = Methods.FunString.SubStringCutOf(QuickDateTools.GetNameFinal(item), 20) + " , " + age;
                        }
                        else
                        {
                            holder.TxtName.Text = Methods.FunString.SubStringCutOf(QuickDateTools.GetNameFinal(item), 20);
                        }
                    }
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }
Ejemplo n.º 4
0
        // Replace the contents of a view (invoked by the layout manager)
        public override void OnBindViewHolder(RecyclerView.ViewHolder viewHolder, int position)
        {
            try
            {
                if (viewHolder is UsersAdapterViewHolder holder)
                {
                    var item = UserList[position];
                    if (item != null)
                    {
                        GlideImageLoader.LoadImage(ActivityContext, item.Avater, holder.Image, ImageStyle.CircleCrop, ImagePlaceholders.Drawable);

                        holder.ImageOnline.Visibility = QuickDateTools.GetStatusOnline(item.Lastseen, item.Online) ? ViewStates.Visible: ViewStates.Gone;

                        holder.Name.Text = Methods.FunString.SubStringCutOf(QuickDateTools.GetNameFinal(item), 14);

                        switch (NameButton)
                        {
                        case "FavoriteUsers":
                            holder.Button.Text = ActivityContext.GetString(Resource.String.Lbl_UnFavorite);
                            break;

                        case "Friends":
                        {
                            if (item.IsFriend != null && item.IsFriend.Value)
                            {
                                holder.Button.Text = ActivityContext.GetString(Resource.String.Lbl_UnFriend);
                                holder.Button.Tag  = "true";
                            }
                            else if (item.IsFriend != null && !item.IsFriend.Value)
                            {
                                if (item.IsFriendRequest != null && !item.IsFriendRequest.Value)
                                {
                                    holder.Button.Text = ActivityContext.GetString(Resource.String.Lbl_AddFriend);
                                    holder.Button.Tag  = "false";
                                }
                                else
                                {
                                    holder.Button.Text = ActivityContext.GetString(Resource.String.Lbl_UnFriend);
                                    holder.Button.Tag  = "true";
                                }
                            }
                        }  break;
                        }
                    }
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }
Ejemplo n.º 5
0
        // Replace the contents of a view (invoked by the layout manager)
        public override void OnBindViewHolder(RecyclerView.ViewHolder viewHolder, int position)
        {
            try
            {
                if (viewHolder is NotificationsAdapterViewHolder holder)
                {
                    var item = NotificationsList[position];
                    if (item != null)
                    {
                        holder.UserNameNoitfy.Text = QuickDateTools.GetNameFinal(item.Notifier);

                        GlideImageLoader.LoadImage(ActivityContext, item.Notifier.Avater, holder.ImageUser, ImageStyle.CircleCrop, ImagePlaceholders.Drawable);

                        if (item.Type == "got_new_match")
                        {
                            holder.CircleIcon.SetBackgroundResource(Resource.Drawable.Shape_Radius_Gradient_Btn3);
                            if (holder.IconNotify.Text != IonIconsFonts.IosHeart)
                            {
                                FontUtils.SetTextViewIcon(FontsIconFrameWork.IonIcons, holder.IconNotify, IonIconsFonts.IosHeart);
                            }
                        }
                        else if (item.Type == "like")
                        {
                            holder.CircleIcon.SetBackgroundResource(Resource.Drawable.Shape_Radius_Gradient_Btn2);
                            if (holder.IconNotify.Text != IonIconsFonts.HeartBroken)
                            {
                                FontUtils.SetTextViewIcon(FontsIconFrameWork.IonIcons, holder.IconNotify, IonIconsFonts.HeartBroken);
                            }
                        }
                        else if (item.Type == "visit")
                        {
                            holder.CircleIcon.SetBackgroundResource(Resource.Drawable.Shape_Radius_Gradient_Btn);
                            if (holder.IconNotify.Text != IonIconsFonts.IosEye)
                            {
                                FontUtils.SetTextViewIcon(FontsIconFrameWork.IonIcons, holder.IconNotify, IonIconsFonts.IosEye);
                            }
                        }

                        holder.Description.Text = QuickDateTools.GetNotificationsText(item.Type);
                    }
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }
Ejemplo n.º 6
0
        public void OpenDialogMatchFound(UserInfoObject dataUser)
        {
            try
            {
                DataUser = dataUser;

                AlertDialogMatchFound = new Dialog(Activity, AppSettings.SetTabDarkTheme ? Resource.Style.MyTheme_Dark_Base : Resource.Style.MyTheme_Base);
                AlertDialogMatchFound.SetContentView(Resource.Layout.DialogMatchFound);

                SetTransparentBackground(AlertDialogMatchFound.Window);
                AlertDialogMatchFound.Window.SetGravity(GravityFlags.Center);

                var image1 = AlertDialogMatchFound.FindViewById <ImageView>(Resource.Id.Iconimage);
                var image2 = AlertDialogMatchFound.FindViewById <ImageView>(Resource.Id.Iconimage2);

                GlideImageLoader.LoadImage(Activity, dataUser.Avater, image1, ImageStyle.CircleCrop, ImagePlaceholders.Drawable);
                GlideImageLoader.LoadImage(Activity, UserDetails.Avatar, image2, ImageStyle.CircleCrop, ImagePlaceholders.Drawable);

                var subTitle = AlertDialogMatchFound.FindViewById <TextView>(Resource.Id.secondarytextview);
                subTitle.Text = Activity.GetText(Resource.String.Lbl_YouAnd) + " " + QuickDateTools.GetNameFinal(dataUser) + " " + Activity.GetText(Resource.String.Lbl_SubTitle_Match);

                Button btnSkipMatch = AlertDialogMatchFound.FindViewById <Button>(Resource.Id.skippButton);
                Button btnNextMatch = AlertDialogMatchFound.FindViewById <Button>(Resource.Id.NextButton);

                btnSkipMatch.Click += BtnSkipMatchOnClick;
                btnNextMatch.Click += BtnNextMatchOnClick;

                AlertDialogMatchFound.Show();

                //got_new_match
                var data = ListUtils.MatchList.FirstOrDefault(a => a.Notifier.Id == dataUser.Id);
                if (data == null)
                {
                    ListUtils.MatchList.Add(new GetNotificationsObject.Datum()
                    {
                        Notifier = dataUser,
                        Type     = "got_new_match"
                    });
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }
Ejemplo n.º 7
0
 // Replace the contents of a view (invoked by the layout manager)
 public override void OnBindViewHolder(RecyclerView.ViewHolder viewHolder, int position)
 {
     try
     {
         if (viewHolder is HotOrNotUserAdapterViewHolder holder)
         {
             var item = UsersDateList[position];
             if (item != null)
             {
                 GlideImageLoader.LoadImage(ActivityContext, item.Avater, holder.Image, ImageStyle.FitCenter, ImagePlaceholders.Drawable);
                 holder.Name.Text = QuickDateTools.GetNameFinal(item);
             }
         }
     }
     catch (Exception e)
     {
         Console.WriteLine(e);
     }
 }
Ejemplo n.º 8
0
        // Replace the contents of a view (invoked by the layout manager)
        public override void OnBindViewHolder(RecyclerView.ViewHolder viewHolder, int position)
        {
            try
            {
                if (viewHolder is ProUserAdapterViewHolder holder)
                {
                    var item = ProUserList[position];
                    if (item != null)
                    {
                        //holder.Circleindicator.Status = InsLoadingView.Statuses.Loading;
                        //holder.Circleindicator.SetStartColor(Color.ParseColor(AppSettings.StartColor));
                        //holder.Circleindicator.SetEndColor(Color.ParseColor(AppSettings.EndColor));

                        GlideImageLoader.LoadImage(ActivityContext, item.Avater, holder.Image, ImageStyle.CircleCrop, ImagePlaceholders.Drawable);

                        if (item.Type != "Your")
                        {
                            //holder.Circleindicator.Status = InsLoadingView.Statuses.Unclicked;
                            holder.IconCircle.Visibility = ViewStates.Gone;
                            holder.IconStory.Visibility  = ViewStates.Gone;

                            holder.Name.Text = Methods.FunString.SubStringCutOf(QuickDateTools.GetNameFinal(item), 20);
                        }
                        else
                        {
                            holder.Name.Text = ActivityContext.GetString(Resource.String.Lbl_AddMe);
                        }

                        if (!holder.Circleindicator.HasOnClickListeners)
                        {
                            holder.Circleindicator.Click += (sender, e) => Click(new ProUserAdapterClickEventArgs {
                                View = holder.MainView, Position = position, Image = holder.Circleindicator
                            });
                        }
                    }
                }
            }
            catch (Exception exception)
            {
                Console.WriteLine(exception);
            }
        }
Ejemplo n.º 9
0
 // Replace the contents of a view (invoked by the layout manager)
 public override void OnBindViewHolder(RecyclerView.ViewHolder viewHolder, int position)
 {
     try
     {
         if (viewHolder is FriendRequestsAdapterViewHolder holder)
         {
             var item = UserList[position];
             if (item != null)
             {
                 GlideImageLoader.LoadImage(ActivityContext, item.Avater, holder.Image, ImageStyle.CircleCrop, ImagePlaceholders.Drawable);
                 holder.Name.Text  = Methods.FunString.SubStringCutOf(QuickDateTools.GetNameFinal(item), 35);
                 holder.About.Text = ActivityContext.GetString(Resource.String.Lbl_Last_seen) + " " + Methods.Time.TimeAgo(int.Parse(item.Lastseen), false);
             }
         }
     }
     catch (Exception exception)
     {
         Console.WriteLine(exception);
     }
 }
Ejemplo n.º 10
0
 // Replace the contents of a view (invoked by the layout manager)
 public override void OnBindViewHolder(RecyclerView.ViewHolder viewHolder, int position)
 {
     try
     {
         if (viewHolder is FavoriteUserAdapterViewHolder holder)
         {
             var item = UserList[position];
             if (item != null)
             {
                 GlideImageLoader.LoadImage(ActivityContext, item.UserData.Avater, holder.Image, ImageStyle.CircleCrop, ImagePlaceholders.Drawable);
                 holder.ImageOnline.Visibility = QuickDateTools.GetStatusOnline(item.UserData.Lastseen, item.UserData.Online) ? ViewStates.Visible : ViewStates.Gone;
                 holder.Name.Text   = Methods.FunString.SubStringCutOf(QuickDateTools.GetNameFinal(item.UserData), 14);
                 holder.Button.Text = ActivityContext.GetString(Resource.String.Lbl_UnFavorite);
             }
         }
     }
     catch (Exception e)
     {
         Console.WriteLine(e);
     }
 }
Ejemplo n.º 11
0
        // Replace the contents of a view (invoked by the layout manager)
        public override void OnBindViewHolder(RecyclerView.ViewHolder viewHolder, int position)
        {
            try
            {
                if (viewHolder is UsersAdapterViewHolder holder)
                {
                    var item = UserList[position];
                    if (item != null)
                    {
                        if (!item.Avater.Contains(Client.WebsiteUrl))
                        {
                            item.Avater = Client.WebsiteUrl + "/" + item.Avater;
                        }

                        GlideImageLoader.LoadImage(ActivityContext, item.Avater, holder.Image, ImageStyle.CircleCrop, ImagePlaceholders.Drawable);

                        holder.ImageOnline.Visibility = QuickDateTools.GetStatusOnline(item.Lastseen, item.Online) ? ViewStates.Visible : ViewStates.Gone;

                        holder.Name.Text           = Methods.FunString.SubStringCutOf(QuickDateTools.GetNameFinal(item), 14);
                        holder.LastTimeOnline.Text = Methods.Time.TimeAgo(int.Parse(item.Lastseen), false);

                        switch (NameButton)
                        {
                        case "ILikedUsers":
                            holder.Button.SetImageResource(Resource.Drawable.ic_action_remove_heart);
                            break;

                        case "IDislikedUsers":
                            holder.Button.SetImageResource(Resource.Drawable.ic_action_remove_heart);
                            break;

                        case "Friends":
                            holder.Button.SetImageResource(Resource.Drawable.ic_action_person_add_disabled);
                            holder.Button.SetColor(Color.ParseColor(AppSettings.MainColor));
                            break;
                        }
                    }
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }
Ejemplo n.º 12
0
        private void Initialize(LastChatAdapterViewHolder holder, GetConversationListObject.DataConversation item)
        {
            try
            {
                GlideImageLoader.LoadImage(ActivityContext, item.User.Avater, holder.ImageAvatar, ImageStyle.CircleCrop, ImagePlaceholders.Drawable);

                string name = QuickDateTools.GetNameFinal(item.User);
                if (holder.TxtUsername.Text != name)
                {
                    holder.TxtUsername.Text = name;
                }

                //If message contains Media files
                switch (item.MessageType)
                {
                case "text":
                {
                    holder.LastMessagesIcon.Visibility = ViewStates.Gone;
                    holder.TxtLastMessages.Text        = item.Text.Contains("http")
                            ? Methods.FunString.SubStringCutOf(item.Text, 30)
                            : Methods.FunString.DecodeString(Methods.FunString.SubStringCutOf(item.Text, 30))
                                                         ?? ActivityContext.GetText(Resource.String.Lbl_SendMessage);
                    break;
                }

                case "media":
                {
                    holder.LastMessagesIcon.Visibility = ViewStates.Visible;
                    FontUtils.SetTextViewIcon(FontsIconFrameWork.IonIcons, holder.LastMessagesIcon, IonIconsFonts.Images);
                    holder.TxtLastMessages.Text = Application.Context.GetText(Resource.String.Lbl_SendImageFile);
                    break;
                }

                case "sticker" when item.Sticker.Contains(".gif"):
                {
                    holder.LastMessagesIcon.Visibility = ViewStates.Visible;
                    FontUtils.SetTextViewIcon(FontsIconFrameWork.FontAwesomeLight, holder.LastMessagesIcon, FontAwesomeIcon.Gift);
                    holder.TxtLastMessages.Text = Application.Context.GetText(Resource.String.Lbl_SendGifFile);
                    break;
                }

                case "sticker":
                {
                    holder.LastMessagesIcon.Visibility = ViewStates.Visible;
                    FontUtils.SetTextViewIcon(FontsIconFrameWork.IonIcons, holder.LastMessagesIcon, IonIconsFonts.Happy);
                    holder.TxtLastMessages.Text = Application.Context.GetText(Resource.String.Lbl_SendStickerFile);
                    break;
                }
                }

                //last seen time
                holder.TxtTimestamp.Text = Methods.Time.ReplaceTime(item.Time);

                //Check read message
                if (item.FromId != null && item.ToId != null && item.ToId != UserDetails.UserId && item.FromId == UserDetails.UserId)
                {
                    if (item.Seen == 0)
                    {
                        holder.ImageColor.Visibility = ViewStates.Invisible;
                        holder.TxtUsername.SetTypeface(Typeface.Default, TypefaceStyle.Normal);
                        holder.TxtLastMessages.SetTypeface(Typeface.Default, TypefaceStyle.Normal);
                    }
                    else
                    {
                        holder.ImageColor.Visibility = ViewStates.Invisible;
                        holder.TxtUsername.SetTypeface(Typeface.Default, TypefaceStyle.Normal);
                        holder.TxtLastMessages.SetTypeface(Typeface.Default, TypefaceStyle.Normal);
                    }
                }
                else if (item.FromId != null && item.ToId != null && item.ToId == UserDetails.UserId && item.FromId != UserDetails.UserId)
                {
                    if (item.Seen == 0)
                    {
                        holder.TxtUsername.SetTypeface(Typeface.Default, TypefaceStyle.Bold);
                        holder.TxtLastMessages.SetTypeface(Typeface.Default, TypefaceStyle.Bold);

                        if (item.NewMessages != 0)
                        {
                            var drawable = TextDrawable.InvokeBuilder().BeginConfig().FontSize(25).EndConfig().BuildRound(item.NewMessages.ToString(), Color.ParseColor(AppSettings.MainColor));
                            holder.ImageColor.SetImageDrawable(drawable);
                            holder.ImageColor.Visibility = ViewStates.Visible;
                        }
                        else
                        {
                            holder.ImageColor.Visibility = ViewStates.Invisible;
                        }
                    }
                    else
                    {
                        holder.ImageColor.Visibility = ViewStates.Invisible;
                        holder.TxtUsername.SetTypeface(Typeface.Default, TypefaceStyle.Normal);
                        holder.TxtLastMessages.SetTypeface(Typeface.Default, TypefaceStyle.Normal);
                    }
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }
Ejemplo n.º 13
0
        public void GetMyInfoData()
        {
            try
            {
                if (ListUtils.MyUserInfo.Count == 0)
                {
                    var sqlEntity = new SqLiteDatabase();
                    sqlEntity.GetDataMyInfo();
                    sqlEntity.Dispose();
                }
                PollyController.RunRetryPolicyFunction(new List <Func <Task> > {
                    () => ApiRequest.GetInfoData(Activity, UserDetails.UserId.ToString())
                });

                var data = ListUtils.MyUserInfo.FirstOrDefault();
                if (data != null)
                {
                    GlideImageLoader.LoadImage(Activity, data.Avater, ProfileImage, ImageStyle.CircleCrop, ImagePlaceholders.Drawable);

                    Username.Text = QuickDateTools.GetNameFinal(data);

                    WalletNumber.Text = data.Balance.Replace(".00", "");

                    if (data.IsPro == "1")
                    {
                        #region UpgradeButton >> ViewStates.Gone

                        //UpgradeButton.Visibility = ViewStates.Gone;

                        //LinearLayout.LayoutParams layoutParam1 = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WrapContent, 100, 1f);
                        //LinearLayout.LayoutParams layoutParam2 = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WrapContent, 100, 1f);

                        //((ViewGroup)WalletButton.Parent)?.RemoveView(WalletButton);
                        //((ViewGroup)PopularityButton.Parent)?.RemoveView(PopularityButton);
                        //((ViewGroup)UpgradeButton.Parent)?.RemoveView(UpgradeButton);

                        //HeaderSection.WeightSum = 2;

                        //layoutParam1.TopMargin = 20;
                        //layoutParam2.TopMargin = 20;
                        //layoutParam2.MarginStart = 20;

                        //WalletButton.LayoutParameters = layoutParam1;
                        //PopularityButton.LayoutParameters = layoutParam2;

                        //HeaderSection.AddView(WalletButton, layoutParam1);
                        //HeaderSection.AddView(PopularityButton, layoutParam2);

                        #endregion

                        switch (data.ProType)
                        {
                        case "1":
                            TxtUpgrade.Text = GetText(Resource.String.Lbl_Weekly);
                            break;

                        case "2":
                            TxtUpgrade.Text = GetText(Resource.String.Lbl_Monthly);
                            break;

                        case "3":
                            TxtUpgrade.Text = GetText(Resource.String.Lbl_Yearly);
                            break;

                        case "4":
                            TxtUpgrade.Text = GetText(Resource.String.Lbl_Lifetime);
                            break;

                        default:
                            TxtUpgrade.Text = GetText(Resource.String.Lbl_Upgrade);
                            break;
                        }
                    }
                    else
                    {
                        if (AppSettings.PremiumSystemEnabled)
                        {
                            TxtUpgrade.Text          = GetText(Resource.String.Lbl_Upgrade);
                            UpgradeButton.Visibility = ViewStates.Visible;
                        }
                    }

                    if (Convert.ToInt32(data.BoostedTime) > 0)
                    {
                        var timeBoost        = ListUtils.SettingsSiteList.FirstOrDefault()?.BoostExpireTime ?? "4";
                        var timeBoostSeconds = Methods.Time.ConvertMinutesToSeconds(Convert.ToDouble(timeBoost)); //240

                        double progressStart;
                        double progress = 100 / timeBoostSeconds; //0.4

                        if (Time == null)
                        {
                            double progressPlus = 100 / timeBoostSeconds;

                            Time = new TimerTime();
                            TimerTime.TimerCount = Time.GetTimer();
                            var plus1 = progressPlus;
                            TimerTime.TimerCount.Elapsed += (sender, args) =>
                            {
                                var plus = plus1;
                                Activity.RunOnUiThread(() =>
                                {
                                    try
                                    {
                                        var(minutes, seconds) = Time.TimerCountOnElapsed();
                                        if ((minutes == "" || minutes == "0") && (seconds == "" || seconds == "0"))
                                        {
                                            Time.SetStopTimer();
                                            Time = null;
                                            TimerTime.TimerCount = null;

                                            data.BoostedTime = "0";
                                            XtBoostMe.Text   = Context.GetText(Resource.String.Lbl_BoostMe);
                                            SetStopAnimationPopularity();
                                            progress      = 0;
                                            progressStart = 0;
                                            MWaveLoadingView.CancelAnimation();

                                            BoostButton.Tag = "Off";
                                        }
                                        else
                                        {
                                            XtBoostMe.Text = minutes + ":" + seconds;
                                            progress      += plus;

                                            progressStart = Math.Round(progress, MidpointRounding.AwayFromZero);
                                            MWaveLoadingView.ProgressValue = Convert.ToInt32(progressStart);
                                        }
                                    }
                                    catch (Exception e)
                                    {
                                        Console.WriteLine(e);
                                    }
                                });
                            };
                        }

                        string countTime = Time.CheckCountTime(Convert.ToInt32(data.BoostedTime));
                        if (countTime != "0:0" && !countTime.Contains("-") && !string.IsNullOrEmpty(countTime))
                        {
                            int min = Convert.ToInt32(countTime.Split(":")[0]);
                            int sec = Convert.ToInt32(countTime.Split(":")[1]);
                            Time.SetMinutes(min);
                            Time.SetSeconds(sec);
                            Time.SetStartTimer();
                            XtBoostMe.Text = countTime;

                            var minSeconds = Methods.Time.ConvertMinutesToSeconds(Convert.ToDouble(min));

                            //start in here
                            progress = (timeBoostSeconds - minSeconds) * 100 / timeBoostSeconds;

                            SetStartAnimationPopularity();
                        }
                        else
                        {
                            Time.SetStopTimer();
                            Time = null;
                            TimerTime.TimerCount = null;

                            XtBoostMe.Text = Context.GetText(Resource.String.Lbl_BoostMe);
                            SetStopAnimationPopularity();

                            BoostButton.Tag = "Off";
                        }
                    }
                    else
                    {
                        if (Time != null)
                        {
                            Time.SetStopTimer();
                            Time = null;
                            TimerTime.TimerCount = null;

                            XtBoostMe.Text = Context.GetText(Resource.String.Lbl_BoostMe);
                            SetStopAnimationPopularity();

                            BoostButton.Tag = "Off";
                        }
                    }
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }
        // Replace the contents of a view (invoked by the layout manager)
        public override void OnBindViewHolder(RecyclerView.ViewHolder viewHolder, int position)
        {
            try
            {
                Position = position;

                var item = TrendingList[viewHolder.AdapterPosition];
                if (item != null)
                {
                    if (item.Type == ItemType.ProUser || item.Type == ItemType.HotOrNot)
                    {
                        if (viewHolder is TrendingAdapterViewHolder holder)
                        {
                            if (item.Type == ItemType.ProUser)
                            {
                                if (ProUserAdapter == null)
                                {
                                    ProUserAdapter = new ProUserAdapter(ActivityContext)
                                    {
                                        ProUserList = new ObservableCollection <UserInfoObject>()
                                    };

                                    LinearLayoutManager layoutManager = new LinearLayoutManager(ActivityContext, LinearLayoutManager.Horizontal, false);
                                    holder.MRecycler.SetLayoutManager(layoutManager);
                                    holder.MRecycler.GetLayoutManager().ItemPrefetchEnabled = true;
                                    holder.MRecycler.NestedScrollingEnabled = false;

                                    var sizeProvider = new FixedPreloadSizeProvider(10, 10);
                                    var preLoader    = new RecyclerViewPreloader <UserInfoObject>(ActivityContext, ProUserAdapter, sizeProvider, 10);
                                    holder.MRecycler.AddOnScrollListener(preLoader);
                                    holder.MRecycler.SetAdapter(ProUserAdapter);
                                    ProUserAdapter.OnItemClick += ProUserAdapterOnOnItemClick;
                                }

                                int countList = item.ProUserList.Count;
                                if (item.ProUserList.Count > 0)
                                {
                                    if (countList > 0)
                                    {
                                        foreach (var user in from user in item.ProUserList let check = ProUserAdapter.ProUserList.FirstOrDefault(a => a.Id == user.Id) where check == null select user)
                                        {
                                            ProUserAdapter.ProUserList.Add(user);
                                        }

                                        ProUserAdapter.NotifyItemRangeInserted(countList - 1, ProUserAdapter.ProUserList.Count - countList);
                                    }
                                    else
                                    {
                                        ProUserAdapter.ProUserList = new ObservableCollection <UserInfoObject>(item.ProUserList);
                                        ProUserAdapter.NotifyDataSetChanged();
                                    }
                                }

                                holder.MainLinear.Visibility = ViewStates.Visible;
                                holder.MoreText.Visibility   = ViewStates.Invisible;
                                holder.TitleText.Text        = ActivityContext.GetText(Resource.String.Lbl_ProUser);
                            }
                            else if (item.Type == ItemType.HotOrNot)
                            {
                                if (HotOrNotUserAdapter == null)
                                {
                                    HotOrNotUserAdapter = new HotOrNotUserAdapter(ActivityContext)
                                    {
                                        UsersDateList = new ObservableCollection <UserInfoObject>()
                                    };

                                    LinearLayoutManager layoutManager = new LinearLayoutManager(ActivityContext, LinearLayoutManager.Horizontal, false);
                                    holder.MRecycler.SetLayoutManager(layoutManager);
                                    holder.MRecycler.GetLayoutManager().ItemPrefetchEnabled = true;
                                    holder.MRecycler.NestedScrollingEnabled = false;

                                    var sizeProvider = new FixedPreloadSizeProvider(10, 10);
                                    var preLoader    = new RecyclerViewPreloader <UserInfoObject>(ActivityContext, HotOrNotUserAdapter, sizeProvider, 10);
                                    holder.MRecycler.AddOnScrollListener(preLoader);
                                    holder.MRecycler.SetAdapter(HotOrNotUserAdapter);
                                    HotOrNotUserAdapter.HotItemClick   += HotOrNotUserAdapterOnHotItemClick;
                                    HotOrNotUserAdapter.NotItemClick   += HotOrNotUserAdapterOnNotItemClick;
                                    HotOrNotUserAdapter.ImageItemClick += HotOrNotUserAdapterOnImageItemClick;
                                }

                                int countList = item.HotOrNotList.Count;
                                if (item.HotOrNotList.Count > 0)
                                {
                                    if (countList > 0)
                                    {
                                        foreach (var user in from user in item.HotOrNotList let check = HotOrNotUserAdapter.UsersDateList.FirstOrDefault(a => a.Id == user.Id) where check == null select user)
                                        {
                                            HotOrNotUserAdapter.UsersDateList.Add(user);
                                        }

                                        HotOrNotUserAdapter.NotifyItemRangeInserted(countList - 1, HotOrNotUserAdapter.UsersDateList.Count - countList);
                                    }
                                    else
                                    {
                                        HotOrNotUserAdapter.UsersDateList = new ObservableCollection <UserInfoObject>(item.HotOrNotList);
                                        HotOrNotUserAdapter.NotifyDataSetChanged();
                                    }
                                }

                                holder.MainLinear.Visibility = ViewStates.Visible;
                                holder.MoreText.Visibility   = ProUserAdapter.ProUserList?.Count >= 5 ? ViewStates.Visible : ViewStates.Invisible;
                                holder.TitleText.Text        = ActivityContext.GetText(Resource.String.Lbl_HotORNot);
                            }
                        }
                    }
                    else if (item.Type == ItemType.Users)
                    {
                        if (viewHolder is NearByAdapterViewHolder nearByAdapter)
                        {
                            FullGlideRequestBuilder.Load(item.UsersData.Avater).Into(nearByAdapter.ImgUser);

                            nearByAdapter.TxtName.Text = Methods.FunString.SubStringCutOf(QuickDateTools.GetNameFinal(item.UsersData), 20);

                            nearByAdapter.TxtLastSeen.Text      = !string.IsNullOrEmpty(item.UsersData.LastseenTxt) ? item.UsersData.LastseenTxt : Methods.Time.TimeAgo(int.Parse(item.UsersData.Lastseen), false);
                            nearByAdapter.OnlineIcon.Visibility = QuickDateTools.GetStatusOnline(item.UsersData.Lastseen, item.UsersData.Online) ? ViewStates.Visible : ViewStates.Gone;

                            if (item.UsersData.IsLiked != null && item.UsersData.IsLiked.Value)
                            {
                                nearByAdapter.LottieAnimation.Visibility = ViewStates.Visible;
                                nearByAdapter.LottieAnimation.PlayAnimation();
                            }
                            else
                            {
                                nearByAdapter.LottieAnimation.Visibility = ViewStates.Gone;
                                nearByAdapter.LottieAnimation.CancelAnimation();
                                nearByAdapter.LottieAnimation.Progress = 0;
                            }
                        }
                    }
                }
            }
            catch (Exception exception)
            {
                Console.WriteLine(exception);
            }
        }