Beispiel #1
0
        private void Recourdclosebutton_Click(object sender, EventArgs e)
        {
            try
            {
                if (!string.IsNullOrEmpty(RecourdFilePath))
                {
                    AudioPlayerClass.StopAudioPlay();
                }

                if (SettingsPrefFragment.SSoundControl)
                {
                    Methods.AudioRecorderAndPlayer.PlayAudioFromAsset("Error.mp3");
                }

                var fragmentHolder = Activity.FindViewById <FrameLayout>(Resource.Id.TopFragmentHolder);

                AudioPlayerClass.Delete_Sound_Path(RecourdFilePath);
                var interplator = new FastOutSlowInInterpolator();
                fragmentHolder.Animate().SetInterpolator(interplator).TranslationY(1200).SetDuration(300);
                Activity.SupportFragmentManager.BeginTransaction().Remove(this).Commit();

                MainActivityview.ChatSendButton.SetImageResource(Resource.Drawable.microphone);
                MainActivityview.ChatSendButton.Tag = "Free";
            }
            catch (Exception exception)
            {
                Console.WriteLine(exception);
            }
        }
Beispiel #2
0
        private void SetColorbutton_Click(object sender, EventArgs e)
        {
            try
            {
                CircleButton btn         = (CircleButton)sender;
                string       colorCssode = (string)btn.Tag;

                var mainActivityview = (ChatWindowActivity)Activity;
                // mainActivityview.ToolBar.SetBackgroundColor(Android.Graphics.Color.ParseColor(colorCssode));
                mainActivityview.ChatSendButton.SetColor(Android.Graphics.Color.ParseColor(colorCssode));

                ChatWindowActivity.MainChatColor = colorCssode;
                ChatWindowActivity.ColorChanged  = true;

                SetTheme(Activity, colorCssode);

                if (Build.VERSION.SdkInt >= BuildVersionCodes.Lollipop)
                {
                    mainActivityview.Window.ClearFlags(WindowManagerFlags.TranslucentStatus);
                    mainActivityview.Window.AddFlags(WindowManagerFlags.DrawsSystemBarBackgrounds);
                    mainActivityview.Window.SetStatusBarColor(Android.Graphics.Color.ParseColor(colorCssode));
                }

                //mainActivityview.Recreate();

                var list = mainActivityview.MAdapter.DifferList.Where(a => a.MesData.Position == "right").ToList();
                foreach (var msg in list)
                {
                    msg.MesData.ChatColor = ChatWindowActivity.MainChatColor;
                    mainActivityview.MAdapter.NotifyDataSetChanged();
                }

                //Update All data Messages to database
                SqLiteDatabase dbDatabase = new SqLiteDatabase();
                dbDatabase.Insert_Or_Replace_MessagesTable(mainActivityview.MAdapter.DifferList);


                var colorFragmentHolder = Activity.FindViewById <FrameLayout>(Resource.Id.ButtomFragmentHolder);
                var interplator         = new FastOutSlowInInterpolator();
                colorFragmentHolder.Animate().SetInterpolator(interplator).TranslationY(1200).SetDuration(500);
                Activity.SupportFragmentManager.BeginTransaction().Remove(this).Commit();
                mainActivityview.ChatColorButton.Tag = "Closed";
                mainActivityview.ChatColorButton.Drawable.SetTint(Android.Graphics.Color.ParseColor("#888888"));

                if (Methods.CheckConnectivity())
                {
                    PollyController.RunRetryPolicyFunction(new List <Func <Task> > {
                        () => RequestsAsync.Message.Change_Chat_Color(UserId, colorCssode)
                    });
                }
                else
                {
                    Toast.MakeText(Context, GetText(Resource.String.Lbl_CheckYourInternetConnection), ToastLength.Short)?.Show();
                }
            }
            catch (Exception exception)
            {
                Methods.DisplayReportResultTrack(exception);
            }
        }
        private void Recourdclosebutton_Click(object sender, EventArgs e)
        {
            try
            {
                if (!string.IsNullOrEmpty(RecourdFilePath))
                {
                    AudioPlayerClass.StopAudioPlay();
                }

                if (UserDetails.SoundControl)
                {
                    Methods.AudioRecorderAndPlayer.PlayAudioFromAsset("Error.mp3");
                }

                var fragmentHolder = Activity.FindViewById <FrameLayout>(Resource.Id.TopFragmentHolder);

                AudioPlayerClass.Delete_Sound_Path(RecourdFilePath);
                var interplator = new FastOutSlowInInterpolator();
                fragmentHolder.Animate().SetInterpolator(interplator).TranslationY(1200).SetDuration(300);
                Activity.SupportFragmentManager.BeginTransaction().Remove(this)?.Commit();

                MainActivityview.RecordButton.Tag = "Free";
                MainActivityview.RecordButton.SetTheImageResource(Resource.Drawable.icon_mic_vector);
                MainActivityview.RecordButton.SetListenForRecord(true);
            }
            catch (Exception exception)
            {
                Methods.DisplayReportResultTrack(exception);
            }
        }
        private void RecordCloseButtonClick(object sender, EventArgs e)
        {
            try
            {
                switch (string.IsNullOrEmpty(RecordFilePath))
                {
                case false:
                    AudioPlayerClass.StopAudioPlay();
                    break;
                }

                switch (UserDetails.SoundControl)
                {
                case true:
                    Methods.AudioRecorderAndPlayer.PlayAudioFromAsset("Error.mp3");
                    break;
                }

                var fragmentHolder = Activity.FindViewById <FrameLayout>(Resource.Id.TopFragmentHolder);

                AudioPlayerClass.Delete_Sound_Path(RecordFilePath);
                var interpolator = new FastOutSlowInInterpolator();
                fragmentHolder.Animate().SetInterpolator(interpolator).TranslationY(1200).SetDuration(300);
                Activity.SupportFragmentManager.BeginTransaction().Remove(this)?.Commit();

                MainActivityView.BtnVoice.SetImageResource(Resource.Drawable.microphone);
                MainActivityView.BtnVoice.Tag = "Free";
            }
            catch (Exception exception)
            {
                Methods.DisplayReportResultTrack(exception);
            }
        }
Beispiel #5
0
        private void StickerAdapterOnOnItemClick(object sender, AdapterClickEvents adapterClickEvents)
        {
            try
            {
                var StcikerUrl = StickerAdapter.GetItem(adapterClickEvents.Position);

                var unixTimestamp = (Int32)(DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1))).TotalSeconds;

                Classes.Message m1 = new Classes.Message
                {
                    M_id      = unixTimestamp.ToString(),
                    from_id   = UserDetails.User_id,
                    to_id     = ChatWindow_Activity.Userid,
                    media     = StcikerUrl,
                    time_text = TimeNow,
                    position  = "right",
                    type      = "right_sticker"
                };

                ChatWindow_Activity.MAdapter.Add(m1);

                if (IMethods.CheckConnectivity())
                {
                    //Sticker Send Function
                    MessageController.SendMessageTask(ChatWindow_Activity.Userid, unixTimestamp.ToString(), "", "", "", StcikerUrl, "sticker" + adapterClickEvents.Position).ConfigureAwait(false);
                }
                else
                {
                    Toast.MakeText(this.Context, this.GetText(Resource.String.Lbl_Error_check_internet_connection),
                                   ToastLength.Short).Show();
                }

                try
                {
                    var ChatWindow = ((ChatWindow_Activity)Activity);

                    var interplator = new FastOutSlowInInterpolator();
                    ChatWindow.ChatStickerButton.Tag = "Closed";

                    ChatWindow.ResetButtonTags();
                    ChatWindow.ChatStickerButton.Drawable.SetTint(Android.Graphics.Color.ParseColor("#888888"));
                    ChatWindow.TopFragmentHolder.Animate().SetInterpolator(interplator).TranslationY(1200)
                    .SetDuration(300);
                    ChatWindow.SupportFragmentManager.BeginTransaction().Remove(ChatWindow.Chat_StickersTab_BoxFragment)
                    .Commit();
                }
                catch (Exception exception)
                {
                    Console.WriteLine(exception);
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }
 private void Closebutton_Click(object sender, EventArgs e)
 {
     try
     {
         var ColorFragmentHolder = this.Activity.FindViewById <FrameLayout>(Resource.Id.ButtomFragmentHolder);
         var interplator         = new FastOutSlowInInterpolator();
         ColorFragmentHolder.Animate().SetInterpolator(interplator).TranslationY(1200).SetDuration(500);
         Activity.SupportFragmentManager.BeginTransaction().Remove(this).Commit();
         ((ChatWindow_Activity)Activity).ChatColorButton.Tag = "Closed";
         ((ChatWindow_Activity)Activity).ChatColorButton.Drawable.SetTint(Android.Graphics.Color.ParseColor("#888888"));
     }
     catch (Exception exception)
     {
         Console.WriteLine(exception);
     }
 }
Beispiel #7
0
        private void SetColorbutton_Click(object sender, EventArgs e)
        {
            try
            {
                CircleButton btn         = (CircleButton)sender;
                string       colorCssode = (string)btn.Tag;

                var mainActivityview = ((ChatWindowActivity)Activity);
                mainActivityview.ToolBar.SetBackgroundColor(Android.Graphics.Color.ParseColor(colorCssode));
                mainActivityview.ChatSendButton.SetColor(Android.Graphics.Color.ParseColor(colorCssode));

                ChatWindowActivity.MainChatColor = colorCssode;
                ChatWindowActivity.ColorChanged  = true;

                SetTheme(Activity, colorCssode);

                if (Build.VERSION.SdkInt >= BuildVersionCodes.Lollipop)
                {
                    mainActivityview.Window.ClearFlags(WindowManagerFlags.TranslucentStatus);
                    mainActivityview.Window.AddFlags(WindowManagerFlags.DrawsSystemBarBackgrounds);
                    mainActivityview.Window.SetStatusBarColor(Android.Graphics.Color.ParseColor(colorCssode));
                }

                mainActivityview.Recreate();
                var colorFragmentHolder = Activity.FindViewById <FrameLayout>(Resource.Id.ButtomFragmentHolder);
                var interplator         = new FastOutSlowInInterpolator();
                colorFragmentHolder.Animate().SetInterpolator(interplator).TranslationY(1200).SetDuration(500);
                Activity.SupportFragmentManager.BeginTransaction().Remove(this).Commit();
                mainActivityview.ChatColorButton.Tag = "Closed";
                mainActivityview.ChatColorButton.Drawable.SetTint(Android.Graphics.Color.ParseColor("#888888"));

                if (Methods.CheckConnectivity())
                {
                    PollyController.RunRetryPolicyFunction(new List <Func <Task> > {
                        () => RequestsAsync.Message.Change_Chat_Color(UserId, colorCssode)
                    });
                }
                else
                {
                    Toast.MakeText(Context, GetText(Resource.String.Lbl_CheckYourInternetConnection), ToastLength.Short).Show();
                }
            }
            catch (Exception exception)
            {
                Console.WriteLine(exception);
            }
        }
        private void SetColorbutton_Click(object sender, EventArgs e)
        {
            try
            {
                CircleButton btn         = (CircleButton)sender;
                string       colorCssode = (string)btn.Tag;

                var MainActivityview = ((ChatWindow_Activity)this.Activity);
                MainActivityview.TopChatToolBar.SetBackgroundColor(Color.ParseColor(colorCssode));
                MainActivityview.ChatSendButton.SetColor(Color.ParseColor(colorCssode));
                ChatWindow_Activity.MainChatColor = colorCssode;

                SetTheme(MainActivityview, colorCssode);

                if (Build.VERSION.SdkInt >= BuildVersionCodes.Lollipop)
                {
                    MainActivityview.Window.ClearFlags(WindowManagerFlags.TranslucentStatus);
                    MainActivityview.Window.AddFlags(WindowManagerFlags.DrawsSystemBarBackgrounds);
                    MainActivityview.Window.SetStatusBarColor(Color.ParseColor(colorCssode));
                }

                MainActivityview.Recreate();
                var ColorFragmentHolder = this.Activity.FindViewById <FrameLayout>(Resource.Id.ButtomFragmentHolder);
                var interplator         = new FastOutSlowInInterpolator();
                ColorFragmentHolder.Animate().SetInterpolator(interplator).TranslationY(1200).SetDuration(500);
                Activity.SupportFragmentManager.BeginTransaction().Remove(this).Commit();
                ((ChatWindow_Activity)Activity).ChatColorButton.Tag = "Closed";
                ((ChatWindow_Activity)Activity).ChatColorButton.Drawable.SetTint(Android.Graphics.Color.ParseColor("#888888"));

                if (IMethods.CheckConnectivity())
                {
                    WoWonder_API.Requests.RequestsAsync.Message.Change_Chat_Color(_UserId, colorCssode).ConfigureAwait(false);
                }
                else
                {
                    Toast.MakeText(this.Context, this.GetText(Resource.String.Lbl_Error_check_internet_connection), ToastLength.Short).Show();
                }
            }
            catch (Exception exception)
            {
                Console.WriteLine(exception);
            }
        }
Beispiel #9
0
        //private Color DarkerColor(Android.Graphics.Color color, float correctionfactory = 50f)
        //{
        //    const float hundredpercent = 100f;
        //    return Color.FromArgb((int)((color.R / hundredpercent) * correctionfactory),(int)((color.G / hundredpercent) * correctionfactory), (int)((color.B / hundredpercent) * correctionfactory));
        //}

        //public static Color ChangeColorBrightness(Android.Graphics.Color color, float correctionFactor)
        //{
        //    float red = color.R;
        //    float green = color.G;
        //    float blue = color.B;

        //    if (correctionFactor < 0)
        //    {
        //        correctionFactor = 1 + correctionFactor;
        //        red *= correctionFactor;
        //        green *= correctionFactor;
        //        blue *= correctionFactor;
        //    }
        //    else
        //    {
        //        red = (255 - red) * correctionFactor + red;
        //        green = (255 - green) * correctionFactor + green;
        //        blue = (255 - blue) * correctionFactor + blue;
        //    }

        //    return Color.FromArgb(color.A, (int)red, (int)green, (int)blue);
        //}

        private void Closebutton_Click(object sender, EventArgs e)
        {
            try
            {
                var colorFragmentHolder = Activity.FindViewById <FrameLayout>(Resource.Id.ButtomFragmentHolder);
                var interplator         = new FastOutSlowInInterpolator();
                colorFragmentHolder.Animate().SetInterpolator(interplator).TranslationY(1200).SetDuration(500);
                Activity.SupportFragmentManager.BeginTransaction().Remove(this)?.Commit();

                var mainActivityview = (ChatWindowActivity)Activity;
                if (mainActivityview != null)
                {
                    mainActivityview.ChatColorButton.Tag = "Closed";
                    mainActivityview.ChatColorButton?.Drawable?.SetTint(Color.ParseColor("#888888"));
                }
            }
            catch (Exception exception)
            {
                Methods.DisplayReportResultTrack(exception);
            }
        }
Beispiel #10
0
        //Api sent Comment
        private async void ImgSentOnClick(object sender, EventArgs e)
        {
            try
            {
                IsRecording = false;

                if (BtnVoice.Tag?.ToString() == "Audio")
                {
                    var interTortola = new FastOutSlowInInterpolator();
                    TopFragment.Animate().SetInterpolator(interTortola).TranslationY(1200).SetDuration(300);
                    SupportFragmentManager.BeginTransaction().Remove(RecordSoundFragment).Commit();

                    PathVoice = RecorderService.GetRecorded_Sound_Path();
                }

                if (string.IsNullOrEmpty(TxtComment.Text) && string.IsNullOrEmpty(PathImage) && string.IsNullOrEmpty(PathVoice))
                {
                    return;
                }

                if (Methods.CheckConnectivity())
                {
                    var dataUser = ListUtils.MyProfileList.FirstOrDefault();
                    //Comment Code

                    var    unixTimestamp = DateTimeOffset.UtcNow.ToUnixTimeSeconds();
                    string time2         = unixTimestamp.ToString(CultureInfo.InvariantCulture);

                    CommentObjectExtra comment = new CommentObjectExtra
                    {
                        Id             = unixTimestamp.ToString(),
                        PostId         = PostObject.Id,
                        UserId         = UserDetails.UserId,
                        Text           = TxtComment.Text,
                        Time           = time2,
                        CFile          = PathImage,
                        Record         = PathVoice,
                        Publisher      = dataUser,
                        Url            = dataUser?.Url,
                        Fullurl        = PostObject?.PostUrl,
                        Orginaltext    = TxtComment.Text,
                        Owner          = true,
                        CommentLikes   = "0",
                        CommentWonders = "0",
                        IsCommentLiked = false,
                        Replies        = "0"
                    };

                    MAdapter.CommentList.Add(comment);

                    var index = MAdapter.CommentList.IndexOf(comment);
                    if (index > -1)
                    {
                        MAdapter.NotifyItemInserted(index);
                    }

                    MRecycler.Visibility = ViewStates.Visible;

                    var dd = MAdapter.CommentList.FirstOrDefault();
                    if (dd?.Text == MAdapter.EmptyState)
                    {
                        MAdapter.CommentList.Remove(dd);
                        MAdapter.NotifyItemRemoved(MAdapter.CommentList.IndexOf(dd));
                    }

                    ImgGallery.SetImageDrawable(AppSettings.SetTabDarkTheme ? GetDrawable(Resource.Drawable.ic_action_addpost_Ligth) : GetDrawable(Resource.Drawable.ic_action_AddPost));
                    var text = TxtComment.Text;

                    //Hide keyboard
                    TxtComment.Text = "";

                    (int apiStatus, var respond) = await RequestsAsync.Comment.CreatePostComments(PostObject.PostId, text, PathImage, PathVoice);

                    if (apiStatus == 200)
                    {
                        if (respond is CreateComments result)
                        {
                            var date = MAdapter.CommentList.FirstOrDefault(a => a.Id == comment.Id) ?? MAdapter.CommentList.FirstOrDefault(x => x.Id == result.Data.Id);
                            if (date != null)
                            {
                                var db = Mapper.Map <CommentObjectExtra>(result.Data);

                                date    = db;
                                date.Id = result.Data.Id;

                                index = MAdapter.CommentList.IndexOf(MAdapter.CommentList.FirstOrDefault(a => a.Id == unixTimestamp.ToString()));
                                if (index > -1)
                                {
                                    MAdapter.CommentList[index] = db;

                                    //MAdapter.NotifyItemChanged(index);
                                    //MRecycler.ScrollToPosition(index);
                                }

                                var postFeedAdapter = TabbedMainActivity.GetInstance()?.NewsFeedTab?.PostFeedAdapter;
                                var dataGlobal      = postFeedAdapter?.ListDiffer?.Where(a => a.PostData?.Id == PostObject?.PostId).ToList();
                                if (dataGlobal?.Count > 0)
                                {
                                    foreach (var dataClass in from dataClass in dataGlobal let indexCom = postFeedAdapter.ListDiffer.IndexOf(dataClass) where indexCom > -1 select dataClass)
                                    {
                                        dataClass.PostData.PostComments = MAdapter.CommentList.Count.ToString();

                                        if (dataClass.PostData.GetPostComments?.Count > 0)
                                        {
                                            var dataComment = dataClass.PostData.GetPostComments.FirstOrDefault(a => a.Id == date.Id);
                                            if (dataComment == null)
                                            {
                                                dataClass.PostData.GetPostComments.Add(date);
                                            }
                                        }
                                        else
                                        {
                                            dataClass.PostData.GetPostComments = new List <GetCommentObject>()
                                            {
                                                date
                                            };
                                        }

                                        postFeedAdapter.NotifyItemChanged(postFeedAdapter.ListDiffer.IndexOf(dataClass), "commentReplies");
                                    }
                                }

                                var postFeedAdapter2 = WRecyclerView.GetInstance()?.NativeFeedAdapter;
                                var dataGlobal2      = postFeedAdapter2?.ListDiffer?.Where(a => a.PostData?.Id == PostObject?.PostId).ToList();
                                if (dataGlobal2?.Count > 0)
                                {
                                    foreach (var dataClass in from dataClass in dataGlobal2 let indexCom = postFeedAdapter2.ListDiffer.IndexOf(dataClass) where indexCom > -1 select dataClass)
                                    {
                                        dataClass.PostData.PostComments = MAdapter.CommentList.Count.ToString();

                                        if (dataClass.PostData.GetPostComments?.Count > 0)
                                        {
                                            var dataComment = dataClass.PostData.GetPostComments.FirstOrDefault(a => a.Id == date.Id);
                                            if (dataComment == null)
                                            {
                                                dataClass.PostData.GetPostComments.Add(date);
                                            }
                                        }
                                        else
                                        {
                                            dataClass.PostData.GetPostComments = new List <GetCommentObject>()
                                            {
                                                date
                                            };
                                        }

                                        postFeedAdapter2.NotifyItemChanged(postFeedAdapter2.ListDiffer.IndexOf(dataClass), "commentReplies");
                                    }
                                }
                            }
                        }
                    }
                    //else Methods.DisplayReportResult(this, respond);

                    //Hide keyboard
                    TxtComment.Text = "";
                    PathImage       = "";
                    PathVoice       = "";

                    BtnVoice.Tag = "Free";
                    BtnVoice.SetImageResource(Resource.Drawable.microphone);
                    BtnVoice.ClearColorFilter();
                }
                else
                {
                    Toast.MakeText(this, GetText(Resource.String.Lbl_CheckYourInternetConnection), ToastLength.Short).Show();
                }
            }
            catch (Exception exception)
            {
                Console.WriteLine(exception);
            }
        }
Beispiel #11
0
        private void StickerAdapterOnItemClick(object sender, StickerAdapterClickEventArgs e)
        {
            try
            {
                var stickerUrl = StickerAdapter.GetItem(e.Position);

                int    unixTimestamp = (int)DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1)).TotalSeconds;
                var    time2         = unixTimestamp.ToString();
                string timeNow       = DateTime.Now.ToString("hh:mm");

                if (Methods.CheckConnectivity())
                {
                    GetChatConversationsObject.Messages message = new GetChatConversationsObject.Messages
                    {
                        Id          = unixTimestamp,
                        FromName    = UserDetails.FullName,
                        FromAvater  = UserDetails.Avatar,
                        ToName      = ChatWindow?.UserInfoData?.Fullname ?? "",
                        ToAvater    = ChatWindow?.UserInfoData?.Avater ?? "",
                        From        = UserDetails.UserId,
                        To          = Convert.ToInt32(UserId),
                        Text        = "",
                        Media       = "",
                        FromDelete  = 0,
                        ToDelete    = 0,
                        Sticker     = stickerUrl?.File,
                        CreatedAt   = timeNow,
                        Seen        = 0,
                        Type        = "Sent",
                        MessageType = "sticker"
                    };

                    int index = MessagesBoxActivity.MAdapter.MessageList.IndexOf(MessagesBoxActivity.MAdapter.MessageList.Last());
                    if (index > -1)
                    {
                        MessagesBoxActivity.MAdapter.MessageList.Add(message);
                        MessagesBoxActivity.MAdapter.NotifyItemInserted(index);

                        //Scroll Down >>
                        ChatWindow?.ChatBoxRecyclerView.ScrollToPosition(index);
                    }

                    PollyController.RunRetryPolicyFunction(new List <Func <Task> > {
                        () => MessageController.SendMessageTask(Activity, MessagesBoxActivity.Userid, "", stickerUrl?.Id.ToString(), "", time2, ChatWindow?.UserInfoData)
                    });
                }
                else
                {
                    Toast.MakeText(Context, Context.GetString(Resource.String.Lbl_CheckYourInternetConnection), ToastLength.Short);
                }

                try
                {
                    if (ChatWindow != null)
                    {
                        var interpolator = new FastOutSlowInInterpolator();
                        ChatWindow.StickerButton.Tag = "Closed";

                        ChatWindow.ResetButtonTags();
                        ChatWindow.StickerButton.Drawable.SetTint(Color.ParseColor("#888888"));
                        ChatWindow.TopFragmentHolder.Animate().SetInterpolator(interpolator).TranslationY(1200).SetDuration(300);
                        ChatWindow.SupportFragmentManager.BeginTransaction().Remove(ChatWindow.ChatStickersFragment).Commit();
                    }
                }
                catch (Exception exception)
                {
                    Console.WriteLine(exception);
                }
            }
            catch (Exception exception)
            {
                Console.WriteLine(exception);
            }
        }
Beispiel #12
0
        private void StickerAdapterOnOnItemClick(object sender, StickerRecylerAdapter.AdapterClickEvents adapterClickEvents)
        {
            try
            {
                var stickerUrl    = StickerAdapter.GetItem(adapterClickEvents.Position);
                var unixTimestamp = (int)(DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1))).TotalSeconds;

                if (Type == "ChatWindowActivity")
                {
                    MessageDataExtra m1 = new MessageDataExtra
                    {
                        Id        = unixTimestamp.ToString(),
                        FromId    = UserDetails.UserId,
                        ToId      = ChatWindow.Userid,
                        Media     = stickerUrl,
                        TimeText  = TimeNow,
                        Position  = "right",
                        ModelType = MessageModelType.RightSticker
                    };

                    ChatWindow.MAdapter.DifferList.Add(new AdapterModelsClassMessage()
                    {
                        TypeView = MessageModelType.RightSticker,
                        Id       = Long.ParseLong(m1.Id),
                        MesData  = m1
                    });

                    var indexMes = ChatWindow.MAdapter.DifferList.IndexOf(ChatWindow.MAdapter.DifferList.FirstOrDefault(a => a.MesData == m1));
                    if (indexMes > -1)
                    {
                        ChatWindow.MAdapter.NotifyItemInserted(indexMes);
                        ChatWindow.MRecycler.ScrollToPosition(ChatWindow.MAdapter.ItemCount - 1);
                    }

                    if (Methods.CheckConnectivity())
                    {
                        //Sticker Send Function
                        MessageController.SendMessageTask(ChatWindow, ChatWindow.Userid, unixTimestamp.ToString(), "", "", "", stickerUrl, "sticker" + adapterClickEvents.Position).ConfigureAwait(false);
                    }
                    else
                    {
                        Toast.MakeText(ChatWindow, ChatWindow.GetText(Resource.String.Lbl_CheckYourInternetConnection), ToastLength.Short)?.Show();
                    }

                    try
                    {
                        var interplator = new FastOutSlowInInterpolator();
                        ChatWindow.ChatStickerButton.Tag = "Closed";

                        ChatWindow.ResetButtonTags();
                        ChatWindow.ChatStickerButton.Drawable.SetTint(Color.ParseColor("#888888"));
                        ChatWindow.TopFragmentHolder.Animate().SetInterpolator(interplator).TranslationY(1200).SetDuration(300);
                        ChatWindow.SupportFragmentManager.BeginTransaction().Remove(ChatWindow.ChatStickersTabBoxFragment).Commit();
                    }
                    catch (Exception exception)
                    {
                        Methods.DisplayReportResultTrack(exception);
                    }
                }
                else if (Type == "GroupChatWindowActivity")
                {
                    MessageDataExtra m1 = new MessageDataExtra
                    {
                        Id        = unixTimestamp.ToString(),
                        FromId    = UserDetails.UserId,
                        GroupId   = GroupActivityView.GroupId,
                        Media     = stickerUrl,
                        TimeText  = TimeNow,
                        Position  = "right",
                        ModelType = MessageModelType.RightSticker
                    };

                    GroupActivityView.MAdapter.DifferList.Add(new AdapterModelsClassMessage()
                    {
                        TypeView = MessageModelType.RightSticker,
                        Id       = Long.ParseLong(m1.Id),
                        MesData  = m1
                    });

                    var indexMes = GroupActivityView.MAdapter.DifferList.IndexOf(GroupActivityView.MAdapter.DifferList.FirstOrDefault(a => a.MesData == m1));
                    if (indexMes > -1)
                    {
                        GroupActivityView.MAdapter.NotifyItemInserted(indexMes);
                        GroupActivityView.MRecycler.ScrollToPosition(GroupActivityView.MAdapter.ItemCount - 1);
                    }

                    if (Methods.CheckConnectivity())
                    {
                        //Sticker Send Function
                        GroupMessageController.SendMessageTask(GroupActivityView, GroupActivityView.GroupId, unixTimestamp.ToString(), "", "", "", stickerUrl, "sticker" + adapterClickEvents.Position).ConfigureAwait(false);
                    }
                    else
                    {
                        Toast.MakeText(GroupActivityView, GroupActivityView.GetText(Resource.String.Lbl_CheckYourInternetConnection), ToastLength.Short)?.Show();
                    }

                    try
                    {
                        var interplator = new FastOutSlowInInterpolator();
                        GroupActivityView.ChatStickerButton.Tag = "Closed";

                        GroupActivityView.ResetButtonTags();
                        GroupActivityView.ChatStickerButton.Drawable.SetTint(Color.ParseColor("#888888"));
                        GroupActivityView.TopFragmentHolder.Animate().SetInterpolator(interplator).TranslationY(1200).SetDuration(300);
                        GroupActivityView.SupportFragmentManager.BeginTransaction().Remove(GroupActivityView.ChatStickersTabBoxFragment).Commit();
                    }
                    catch (Exception exception)
                    {
                        Methods.DisplayReportResultTrack(exception);
                    }
                }
                else if (Type == "PageChatWindowActivity")
                {
                    MessageDataExtra m1 = new MessageDataExtra
                    {
                        Id        = unixTimestamp.ToString(),
                        FromId    = UserDetails.UserId,
                        PageId    = PageActivityView.PageId,
                        Media     = stickerUrl,
                        TimeText  = TimeNow,
                        Position  = "right",
                        ModelType = MessageModelType.RightSticker
                    };

                    PageActivityView.MAdapter.DifferList.Add(new AdapterModelsClassMessage()
                    {
                        TypeView = MessageModelType.RightSticker,
                        Id       = Long.ParseLong(m1.Id),
                        MesData  = m1
                    });

                    var indexMes = PageActivityView.MAdapter.DifferList.IndexOf(PageActivityView.MAdapter.DifferList.FirstOrDefault(a => a.MesData == m1));
                    if (indexMes > -1)
                    {
                        PageActivityView.MAdapter.NotifyItemInserted(indexMes);
                        PageActivityView.MRecycler.ScrollToPosition(PageActivityView.MAdapter.ItemCount - 1);
                    }

                    if (Methods.CheckConnectivity())
                    {
                        //Sticker Send Function
                        PageMessageController.SendMessageTask(PageActivityView, PageActivityView.PageId, PageActivityView.UserId, unixTimestamp.ToString(), "", "", "", stickerUrl, "sticker" + adapterClickEvents.Position).ConfigureAwait(false);
                    }
                    else
                    {
                        Toast.MakeText(PageActivityView, PageActivityView.GetText(Resource.String.Lbl_CheckYourInternetConnection), ToastLength.Short)?.Show();
                    }

                    try
                    {
                        var interplator = new FastOutSlowInInterpolator();
                        PageActivityView.ChatStickerButton.Tag = "Closed";

                        PageActivityView.ResetButtonTags();
                        PageActivityView.ChatStickerButton.Drawable.SetTint(Color.ParseColor("#888888"));
                        PageActivityView.TopFragmentHolder.Animate().SetInterpolator(interplator).TranslationY(1200).SetDuration(300);
                        PageActivityView.SupportFragmentManager.BeginTransaction().Remove(PageActivityView.ChatStickersTabBoxFragment).Commit();
                    }
                    catch (Exception exception)
                    {
                        Methods.DisplayReportResultTrack(exception);
                    }
                }
            }
            catch (Exception e)
            {
                Methods.DisplayReportResultTrack(e);
            }
        }
        private void StickerAdapterOnItemClick(object sender, StickerAdapterClickEventArgs e)
        {
            try
            {
                var dataUser = ListUtils.MyUserInfo.FirstOrDefault();
                if (!AppSettings.EnableAppFree && (dataUser?.Balance == "0.00" || dataUser?.Balance == "0.0" || dataUser?.Balance == "0"))
                {
                    Toast.MakeText(Context, Context.GetString(Resource.String.Lbl_ErrorNotHaveCredit), ToastLength.Short).Show();
                    var window = new PopupController(Activity);
                    window.DisplayCreditWindow("credits");
                    return;
                }

                var stickerUrl = StickerAdapter.GetItem(e.Position);

                int    unixTimestamp = (int)DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1)).TotalSeconds;
                var    time2         = unixTimestamp.ToString();
                string timeNow       = DateTime.Now.ToString("hh:mm");

                if (Methods.CheckConnectivity())
                {
                    GetChatConversationsObject.Messages message = new GetChatConversationsObject.Messages
                    {
                        Id          = unixTimestamp,
                        FromName    = UserDetails.FullName,
                        FromAvater  = UserDetails.Avatar,
                        ToName      = ChatWindow?.UserInfoData?.Fullname ?? "",
                        ToAvater    = ChatWindow?.UserInfoData?.Avater ?? "",
                        From        = UserDetails.UserId,
                        To          = Convert.ToInt32(UserId),
                        Text        = "",
                        Media       = "",
                        FromDelete  = 0,
                        ToDelete    = 0,
                        Sticker     = stickerUrl?.File,
                        CreatedAt   = timeNow,
                        Seen        = 0,
                        Type        = "Sent",
                        MessageType = "sticker"
                    };

                    int index = MessagesBoxActivity.MAdapter.MessageList.IndexOf(MessagesBoxActivity.MAdapter.MessageList.Last());
                    if (index > -1)
                    {
                        MessagesBoxActivity.MAdapter.MessageList.Add(message);
                        MessagesBoxActivity.MAdapter.NotifyItemInserted(index);

                        //Scroll Down >>
                        ChatWindow?.ChatBoxRecyclerView.ScrollToPosition(index);
                    }

                    Task.Factory.StartNew(() =>
                    {
                        PollyController.RunRetryPolicyFunction(new List <Func <Task> > {
                            () => MessageController.SendMessageTask(Activity, MessagesBoxActivity.Userid, "", stickerUrl?.Id.ToString(), "", time2, ChatWindow?.UserInfoData)
                        });
                    });
                }
                else
                {
                    Toast.MakeText(Context, Context.GetString(Resource.String.Lbl_CheckYourInternetConnection), ToastLength.Short);
                }

                try
                {
                    if (ChatWindow != null)
                    {
                        var interpolator = new FastOutSlowInInterpolator();
                        ChatWindow.TopFragmentHolder.Animate().SetInterpolator(interpolator).TranslationY(1200).SetDuration(300);
                        ChatWindow.UpdateChatBoxAttachmentWindowState(ChatBoxButtonWindowState.AllClosed);
                    }
                }
                catch (Exception exception)
                {
                    Console.WriteLine(exception);
                }
            }
            catch (Exception exception)
            {
                Console.WriteLine(exception);
            }
        }
        //Api sent Comment
        private async void ImgSentOnClick(object sender, EventArgs e)
        {
            try
            {
                IsRecording = false;

                switch (BtnVoice.Tag?.ToString())
                {
                case "Audio":
                {
                    var interTortola = new FastOutSlowInInterpolator();
                    TopFragment.Animate()?.SetInterpolator(interTortola)?.TranslationY(1200)?.SetDuration(300);
                    SupportFragmentManager.BeginTransaction().Remove(RecordSoundFragment)?.Commit();

                    PathVoice = RecorderService.GetRecorded_Sound_Path();
                    break;
                }
                }

                if (string.IsNullOrEmpty(TxtComment.Text) && string.IsNullOrWhiteSpace(TxtComment.Text) && string.IsNullOrEmpty(PathImage) && string.IsNullOrEmpty(PathVoice))
                {
                    return;
                }

                if (Methods.CheckConnectivity())
                {
                    var dataUser = ListUtils.MyProfileList?.FirstOrDefault();
                    //Comment Code

                    var    unixTimestamp = DateTimeOffset.UtcNow.ToUnixTimeSeconds();
                    string time2         = unixTimestamp.ToString(CultureInfo.InvariantCulture);

                    CommentObjectExtra comment = new CommentObjectExtra
                    {
                        Id             = unixTimestamp.ToString(),
                        PostId         = PostObject.Id,
                        UserId         = UserDetails.UserId,
                        Text           = TxtComment.Text,
                        Time           = time2,
                        CFile          = PathImage,
                        Record         = PathVoice,
                        Publisher      = dataUser,
                        Url            = dataUser?.Url,
                        Fullurl        = PostObject?.PostUrl,
                        Orginaltext    = TxtComment.Text,
                        Owner          = true,
                        CommentLikes   = "0",
                        CommentWonders = "0",
                        IsCommentLiked = false,
                        Replies        = "0",
                        RepliesCount   = "0"
                    };

                    MAdapter.CommentList.Add(comment);

                    var index = MAdapter.CommentList.IndexOf(comment);
                    switch (index)
                    {
                    case > -1:
                        MAdapter.NotifyItemInserted(index);
                        break;
                    }

                    MRecycler.Visibility = ViewStates.Visible;

                    var dd = MAdapter.CommentList.FirstOrDefault();
                    if (dd?.Text == MAdapter.EmptyState)
                    {
                        MAdapter.CommentList.Remove(dd);
                        MAdapter.NotifyItemRemoved(MAdapter.CommentList.IndexOf(dd));
                    }

                    ImgGallery.SetImageDrawable(AppSettings.SetTabDarkTheme ? GetDrawable(Resource.Drawable.ic_action_addpost_Ligth) : GetDrawable(Resource.Drawable.ic_action_AddPost));
                    var text = TxtComment.Text;

                    //Hide keyboard
                    TxtComment.Text = "";

                    var(apiStatus, respond) = await RequestsAsync.Comment.CreatePostCommentsAsync(PostObject.PostId, text, PathImage, PathVoice);

                    switch (apiStatus)
                    {
                    case 200:
                    {
                        switch (respond)
                        {
                        case CreateComments result:
                        {
                            var date = MAdapter.CommentList.FirstOrDefault(a => a.Id == comment.Id) ?? MAdapter.CommentList.FirstOrDefault(x => x.Id == result.Data.Id);
                            if (date != null)
                            {
                                var db = ClassMapper.Mapper?.Map <CommentObjectExtra>(result.Data);

                                date    = db;
                                date.Id = result.Data.Id;

                                index = MAdapter.CommentList.IndexOf(MAdapter.CommentList.FirstOrDefault(a => a.Id == unixTimestamp.ToString()));
                                MAdapter.CommentList[index] = index switch
                                {
                                    > -1 => db,
                                    _ => MAdapter.CommentList[index]
                                };

                                var postFeedAdapter = TabbedMainActivity.GetInstance()?.NewsFeedTab?.PostFeedAdapter;
                                var dataGlobal      = postFeedAdapter?.ListDiffer?.Where(a => a.PostData?.Id == PostObject?.PostId).ToList();
                                switch (dataGlobal?.Count)
                                {
                                case > 0:
                                {
                                    foreach (var dataClass in from dataClass in dataGlobal let indexCom = postFeedAdapter.ListDiffer.IndexOf(dataClass) where indexCom > -1 select dataClass)
                                    {
                                        dataClass.PostData.PostComments = MAdapter.CommentList.Count.ToString();

                                        switch (dataClass.PostData.GetPostComments?.Count)
                                        {
                                        case > 0:
                                        {
                                            var dataComment = dataClass.PostData.GetPostComments.FirstOrDefault(a => a.Id == date.Id);
                                            switch (dataComment)
                                            {
                                            case null:
                                                dataClass.PostData.GetPostComments.Add(date);
                                                break;
                                            }

                                            break;
                                        }

                                        default:
                                            dataClass.PostData.GetPostComments = new List <GetCommentObject> {
                                                date
                                            };
                                            break;
                                        }

                                        postFeedAdapter.NotifyItemChanged(postFeedAdapter.ListDiffer.IndexOf(dataClass), "commentReplies");
                                    }

                                    break;
                                }
                                }

                                var postFeedAdapter2 = WRecyclerView.GetInstance()?.NativeFeedAdapter;
                                var dataGlobal2      = postFeedAdapter2?.ListDiffer?.Where(a => a.PostData?.Id == PostObject?.PostId).ToList();
                                switch (dataGlobal2?.Count)
                                {
                                case > 0:
                                {
                                    foreach (var dataClass in from dataClass in dataGlobal2 let indexCom = postFeedAdapter2.ListDiffer.IndexOf(dataClass) where indexCom > -1 select dataClass)
                                    {
                                        dataClass.PostData.PostComments = MAdapter.CommentList.Count.ToString();

                                        switch (dataClass.PostData.GetPostComments?.Count)
                                        {
                                        case > 0:
                                        {
                                            var dataComment = dataClass.PostData.GetPostComments.FirstOrDefault(a => a.Id == date.Id);
                                            switch (dataComment)
                                            {
                                            case null:
                                                dataClass.PostData.GetPostComments.Add(date);
                                                break;
                                            }

                                            break;
                                        }

                                        default:
                                            dataClass.PostData.GetPostComments = new List <GetCommentObject> {
                                                date
                                            };
                                            break;
                                        }

                                        postFeedAdapter2.NotifyItemChanged(postFeedAdapter2.ListDiffer.IndexOf(dataClass), "commentReplies");
                                    }

                                    break;
                                }
                                }
                            }

                            break;
                        }
                        }

                        break;
                    }
                    }