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); } }
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); } }
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); } }
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); } }
//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); } }
//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); } }
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); } }
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; } }