public void LoadUserData(UserDataObject cl, bool friends = true) { try { PPrivacy = cl.PPrivacy; GlideImageLoader.LoadImage(Activity, cl.Avatar, ImageUser, ImageStyle.CircleCrop, ImagePlaceholders.Color); AboutTab.TextSanitizerAutoLink.Load(AppTools.GetAboutFinal(cl)); AboutTab.TxtGender.Text = cl.Gender; AboutTab.TxtEmail.Text = cl.Email; if (string.IsNullOrEmpty(cl.Website)) { AboutTab.WebsiteLinearLayout.Visibility = ViewStates.Gone; } else { AboutTab.TxtWebsite.Text = cl.Website; AboutTab.WebsiteLinearLayout.Visibility = ViewStates.Visible; } TxtUserName.Text = "@" + cl.Username; var font = Typeface.CreateFromAsset(Application.Context.Resources.Assets, "ionicons.ttf"); TxtFullName.SetTypeface(font, TypefaceStyle.Normal); var textHighLighter = AppTools.GetNameFinal(cl); if (cl.Verified == "1") { textHighLighter += " " + IonIconsFonts.CheckmarkCircled; } if (cl.BusinessAccount == "1") { textHighLighter += " " + IonIconsFonts.SocialUsd; } var decorator = TextDecorator.Decorate(TxtFullName, textHighLighter); if (cl.Verified == "1") { decorator.SetTextColor(Resource.Color.Post_IsVerified, IonIconsFonts.CheckmarkCircled); } if (cl.BusinessAccount == "1") { decorator.SetTextColor(Resource.Color.Post_IsBusiness, IonIconsFonts.SocialUsd); } decorator.Build(); TxtPostCount.Text = Methods.FunString.FormatPriceValue(Int32.Parse(cl.PostsCount)); if (cl.Followers != null && int.TryParse(cl.Followers, out var numberFollowers)) { TxtFollowersCount.Text = Methods.FunString.FormatPriceValue(numberFollowers); } if (cl.Following != null && int.TryParse(cl.Following, out var numberFollowing)) { TxtFollowingCount.Text = Methods.FunString.FormatPriceValue(numberFollowing); } if (!string.IsNullOrEmpty(cl.Google)) { AboutTab.Google = cl.Google; AboutTab.SocialGoogle.SetTypeface(font, TypefaceStyle.Normal); AboutTab.SocialGoogle.Text = IonIconsFonts.SocialGoogle; AboutTab.SocialGoogle.Visibility = ViewStates.Visible; AboutTab.SocialLinksLinear.Visibility = ViewStates.Visible; } if (!string.IsNullOrEmpty(cl.Facebook)) { AboutTab.Facebook = cl.Facebook; AboutTab.SocialFacebook.SetTypeface(font, TypefaceStyle.Normal); AboutTab.SocialFacebook.Text = IonIconsFonts.SocialFacebook; AboutTab.SocialFacebook.Visibility = ViewStates.Visible; AboutTab.SocialLinksLinear.Visibility = ViewStates.Visible; } if (!string.IsNullOrEmpty(cl.Website)) { AboutTab.Website = cl.Website; AboutTab.WebsiteButton.SetTypeface(font, TypefaceStyle.Normal); AboutTab.WebsiteButton.Text = IonIconsFonts.AndroidGlobe; AboutTab.WebsiteButton.Visibility = ViewStates.Visible; AboutTab.SocialLinksLinear.Visibility = ViewStates.Visible; } if (!string.IsNullOrEmpty(cl.Twitter)) { AboutTab.Twitter = cl.Twitter; AboutTab.SocialTwitter.SetTypeface(font, TypefaceStyle.Normal); AboutTab.SocialTwitter.Text = IonIconsFonts.SocialTwitter; AboutTab.SocialTwitter.Visibility = ViewStates.Visible; AboutTab.SocialLinksLinear.Visibility = ViewStates.Visible; } BtnMessage.Visibility = cl.IsFollowing != null && (cl.CPrivacy == "1" || cl.CPrivacy == "2" && cl.IsFollowing.Value) ? ViewStates.Visible : ViewStates.Invisible; if (cl.IsFollowing != null) { SIsFollowing = cl.IsFollowing.Value; } if (!friends) { return; } if (cl.IsFollowing != null && cl.IsFollowing.Value) // My Friend { FollowButton.SetBackgroundColor(Color.ParseColor("#efefef")); FollowButton.SetTextColor(Color.ParseColor("#444444")); FollowButton.Text = Context.GetText(Resource.String.Lbl_Following); FollowButton.Tag = "true"; } else { //Not Friend FollowButton.SetBackgroundResource(Resource.Drawable.buttonFlatNormal); FollowButton.SetTextColor(Color.ParseColor("#ffffff")); FollowButton.Text = Context.GetText(Resource.String.Lbl_Follow); FollowButton.Tag = "false"; } } catch (Exception e) { Console.WriteLine(e); } }
public void LoadCommentData(CommentObjectExtra item, CommentAdapterViewHolder holder) { try { if (!string.IsNullOrEmpty(item.Orginaltext) || !string.IsNullOrWhiteSpace(item.Orginaltext)) { var text = Methods.FunString.DecodeString(item.Orginaltext); ReadMoreOption.AddReadMoreTo(holder.CommentText, new Java.Lang.String(text)); } else { holder.CommentText.Visibility = ViewStates.Gone; } holder.TimeTextView.Text = Methods.Time.TimeAgo(Convert.ToInt32(item.Time), false); holder.UserName.Text = item.Publisher.Name; GlideImageLoader.LoadImage(ActivityContext, item.Publisher.Avatar, holder.Image, ImageStyle.CircleCrop, ImagePlaceholders.Drawable); var textHighLighter = item.Publisher.Name; var textIsPro = string.Empty; if (item.Publisher.Verified == "1") { textHighLighter += " " + IonIconsFonts.CheckmarkCircle; } if (item.Publisher.IsPro == "1") { textIsPro = " " + IonIconsFonts.Flash; textHighLighter += textIsPro; } var decorator = TextDecorator.Decorate(holder.UserName, textHighLighter).SetTextStyle((int)TypefaceStyle.Bold, 0, item.Publisher.Name.Length); if (item.Publisher.Verified == "1") { decorator.SetTextColor(Resource.Color.Post_IsVerified, IonIconsFonts.CheckmarkCircle); } if (item.Publisher.IsPro == "1") { decorator.SetTextColor(Resource.Color.text_color_in_between, textIsPro); } decorator.Build(); //Image if (holder.ItemViewType == 1 || holder.CommentImage != null) { if (!string.IsNullOrEmpty(item.CFile) && (item.CFile.Contains("file://") || item.CFile.Contains("content://") || item.CFile.Contains("storage") || item.CFile.Contains("/data/user/0/"))) { File file2 = new File(item.CFile); var photoUri = FileProvider.GetUriForFile(ActivityContext, ActivityContext.PackageName + ".fileprovider", file2); Glide.With(ActivityContext).Load(photoUri).Apply(new RequestOptions()).Into(holder.CommentImage); //GlideImageLoader.LoadImage(ActivityContext,item.CFile, holder.CommentImage, ImageStyle.CenterCrop, ImagePlaceholders.Color); } else { if (!item.CFile.Contains(Client.WebsiteUrl)) { item.CFile = WoWonderTools.GetTheFinalLink(item.CFile); } GlideImageLoader.LoadImage(ActivityContext, item.CFile, holder.CommentImage, ImageStyle.CenterCrop, ImagePlaceholders.Color); item.CFile = WoWonderTools.GetFile("", Methods.Path.FolderDiskImage, item.CFile.Split('/').Last(), item.CFile); } } //Voice if (holder.VoiceLayout != null && !string.IsNullOrEmpty(item.Record)) { LoadAudioItem(holder, item); } var repliesCount = !string.IsNullOrEmpty(item.RepliesCount) ? item.RepliesCount : item.Replies ?? ""; if (repliesCount != "0" && !string.IsNullOrEmpty(repliesCount)) { holder.ReplyTextView.Text = ActivityContext.GetText(Resource.String.Lbl_Reply) + " " + "(" + repliesCount + ")"; } if (AppSettings.PostButton == PostButtonSystem.ReactionDefault || AppSettings.PostButton == PostButtonSystem.ReactionSubShine) { item.Reaction ??= new Reaction(); holder.CountRating.Text = item.Reaction.Count + " " + ActivityContext.GetString(Resource.String.Lbl_Reactions); holder.RatingBar.Rating = (float)Convert.ToDouble(item.Reaction.Type); if (holder.RatingBar.Rating > 0) { holder.RatingText.Text = item.Reaction.Type; } else { holder.RatingText.Text = "0.0"; } //if (item.Reaction.Count > 0) //{ // holder.CountLikeSection.Visibility = ViewStates.Visible; // holder.CountLike.Text = Methods.FunString.FormatPriceValue(item.Reaction.Count); //} //else //{ // holder.CountLikeSection.Visibility = ViewStates.Gone; //} if (item.Reaction.IsReacted != null && item.Reaction.IsReacted.Value) { if (!string.IsNullOrEmpty(item.Reaction.Type)) { var react = ListUtils.SettingsSiteList?.PostReactionsTypes?.FirstOrDefault(a => a.Value?.Id == item.Reaction.Type).Value?.Id ?? ""; switch (react) { case "1": ReactionComment.SetReactionPack(holder, ReactConstants.Like); holder.LikeTextView.Tag = "Liked"; holder.ImageCountLike.SetImageResource(Resource.Drawable.emoji_like); break; case "2": ReactionComment.SetReactionPack(holder, ReactConstants.Love); holder.LikeTextView.Tag = "Liked"; holder.ImageCountLike.SetImageResource(Resource.Drawable.emoji_love); break; case "3": ReactionComment.SetReactionPack(holder, ReactConstants.HaHa); holder.LikeTextView.Tag = "Liked"; holder.ImageCountLike.SetImageResource(Resource.Drawable.emoji_haha); break; case "4": ReactionComment.SetReactionPack(holder, ReactConstants.Wow); holder.LikeTextView.Tag = "Liked"; holder.ImageCountLike.SetImageResource(Resource.Drawable.emoji_wow); break; case "5": ReactionComment.SetReactionPack(holder, ReactConstants.Sad); holder.LikeTextView.Tag = "Liked"; holder.ImageCountLike.SetImageResource(Resource.Drawable.emoji_sad); break; case "6": ReactionComment.SetReactionPack(holder, ReactConstants.Angry); holder.LikeTextView.Tag = "Liked"; holder.ImageCountLike.SetImageResource(Resource.Drawable.emoji_angry); break; default: holder.LikeTextView.Text = ActivityContext.GetText(Resource.String.Btn_Like); holder.LikeTextView.SetTextColor(AppSettings.SetTabDarkTheme ? Color.White : Color.Black); holder.LikeTextView.Tag = "Like"; if (item.Reaction.Count > 0) { holder.ImageCountLike.SetImageResource(Resource.Drawable.emoji_like); } break; } } } else { holder.LikeTextView.Text = ActivityContext.GetText(Resource.String.Btn_Like); holder.LikeTextView.SetTextColor(AppSettings.SetTabDarkTheme ? Color.White : Color.Black); holder.LikeTextView.Tag = "Like"; if (item.Reaction.Count > 0) { holder.ImageCountLike.SetImageResource(Resource.Drawable.emoji_like); } } } else if (AppSettings.PostButton == PostButtonSystem.Wonder || AppSettings.PostButton == PostButtonSystem.DisLike) { if (item.Reaction?.IsReacted != null && !item.Reaction.IsReacted.Value) { ReactionComment.SetReactionPack(holder, ReactConstants.Default); } if (item.IsCommentLiked) { holder.LikeTextView.Text = ActivityContext.GetText(Resource.String.Btn_Liked); holder.LikeTextView.SetTextColor(Color.ParseColor(AppSettings.MainColor)); holder.LikeTextView.Tag = "Liked"; } switch (AppSettings.PostButton) { case PostButtonSystem.Wonder when item.IsCommentWondered: { holder.DislikeTextView.Text = ActivityContext.GetString(Resource.String.Lbl_wondered); holder.DislikeTextView.SetTextColor(Color.ParseColor(AppSettings.MainColor)); holder.DislikeTextView.Tag = "Disliked"; break; } case PostButtonSystem.Wonder: { holder.DislikeTextView.Text = ActivityContext.GetString(Resource.String.Btn_Wonder); holder.DislikeTextView.SetTextColor(AppSettings.SetTabDarkTheme ? Color.White : Color.Black); holder.DislikeTextView.Tag = "Dislike"; break; } case PostButtonSystem.DisLike when item.IsCommentWondered: { holder.DislikeTextView.Text = ActivityContext.GetString(Resource.String.Lbl_disliked); holder.DislikeTextView.SetTextColor(Color.ParseColor("#f89823")); holder.DislikeTextView.Tag = "Disliked"; break; } case PostButtonSystem.DisLike: { holder.DislikeTextView.Text = ActivityContext.GetString(Resource.String.Btn_Dislike); holder.DislikeTextView.SetTextColor(AppSettings.SetTabDarkTheme ? Color.White : Color.Black); holder.DislikeTextView.Tag = "Dislike"; break; } } } else { if (item.IsCommentLiked) { holder.LikeTextView.Text = ActivityContext.GetText(Resource.String.Btn_Liked); holder.LikeTextView.SetTextColor(Color.ParseColor(AppSettings.MainColor)); holder.LikeTextView.Tag = "Liked"; } else { holder.LikeTextView.Text = ActivityContext.GetText(Resource.String.Btn_Like); holder.LikeTextView.SetTextColor(AppSettings.SetTabDarkTheme ? Color.White : Color.Black); holder.LikeTextView.Tag = "Like"; } } holder.TimeTextView.Tag = "true"; } catch (Exception e) { Methods.DisplayReportResultTrack(e); } }
private static void LoadCommentData(CommentsArticlesObject item, RecyclerView.ViewHolder viewHolder, int position = 0) { try { if (!(viewHolder is ArticlesCommentAdapterViewHolder holder)) { return; } if (AppSettings.FlowDirectionRightToLeft) { holder.BubbleLayout.LayoutDirection = LayoutDirection.Rtl; } if (string.IsNullOrEmpty(item.Text) || string.IsNullOrWhiteSpace(item.Text)) { holder.CommentText.Visibility = ViewStates.Gone; } else { var description = Methods.FunString.DecodeString(item.Text); var readMoreOption = new StReadMoreOption.Builder() .TextLength(250, StReadMoreOption.TypeCharacter) .MoreLabel(ActivityContext.GetText(Resource.String.Lbl_ReadMore)) .LessLabel(ActivityContext.GetText(Resource.String.Lbl_ReadLess)) .MoreLabelColor(Color.ParseColor(AppSettings.MainColor)) .LessLabelColor(Color.ParseColor(AppSettings.MainColor)) .LabelUnderLine(true) .Build(); readMoreOption.AddReadMoreTo(holder.CommentText, new Java.Lang.String(description)); } holder.TimeTextView.Text = Methods.Time.TimeAgo(Convert.ToInt32(item.Posted), false); holder.UserName.Text = item.UserData.Name; GlideImageLoader.LoadImage(ActivityContext, item.UserData.Avatar, holder.Image, ImageStyle.CircleCrop, ImagePlaceholders.Drawable); var textHighLighter = item.UserData.Name; var textIsPro = string.Empty; if (item.UserData.Verified == "1") { textHighLighter += " " + IonIconsFonts.CheckmarkCircle; } if (item.UserData.IsPro == "1") { textIsPro = " " + IonIconsFonts.Flash; textHighLighter += textIsPro; } var decorator = TextDecorator.Decorate(holder.UserName, textHighLighter).SetTextStyle((int)TypefaceStyle.Bold, 0, item.UserData.Name.Length); if (item.UserData.Verified == "1") { decorator.SetTextColor(Resource.Color.Post_IsVerified, IonIconsFonts.CheckmarkCircle); } if (item.UserData.IsPro == "1") { decorator.SetTextColor(Resource.Color.text_color_in_between, textIsPro); } decorator.Build(); if (item.Replies?.Count > 0) { holder.ReplyTextView.Text = ActivityContext.GetText(Resource.String.Lbl_Reply) + " " + "(" + item.Replies.Count + ")"; } if (item.IsCommentLiked) { holder.LikeTextView.Text = ActivityContext.GetText(Resource.String.Btn_Liked); holder.LikeTextView.SetTextColor(Color.ParseColor(AppSettings.MainColor)); holder.LikeTextView.Tag = "Liked"; } else { holder.LikeTextView.Text = ActivityContext.GetText(Resource.String.Btn_Like); holder.LikeTextView.SetTextColor(AppSettings.SetTabDarkTheme ? Color.ParseColor("#ffffff"): Color.ParseColor("#000000")); holder.LikeTextView.Tag = "Like"; } holder.TimeTextView.Tag = "true"; if (holder.Image.HasOnClickListeners) { return; } var postEventListener = new ArticlesCommentClickListener(ActivityContext, Type); //Create an Event holder.MainView.LongClick += (sender, e) => postEventListener.MoreCommentReplyPostClick(new CommentReplyArticlesClickEventArgs { CommentObject = item, Position = position, View = holder.MainView }); holder.Image.Click += (sender, args) => postEventListener.ProfileClick(new CommentReplyArticlesClickEventArgs { Holder = holder, CommentObject = item, Position = position, View = holder.MainView }); switch (Type) { case "Comment": holder.ReplyTextView.Click += (sender, args) => ArticlesViewActivity.GetInstance()?.CommentReplyClick(item); break; case "Reply": holder.ReplyTextView.Click += (sender, args) => ArticlesViewActivity.GetInstance()?.ReplyOnReplyClick(item); break; } holder.LikeTextView.Click += delegate { try { if (!Methods.CheckConnectivity()) { Toast.MakeText(ActivityContext, ActivityContext.GetText(Resource.String.Lbl_CheckYourInternetConnection), ToastLength.Short)?.Show(); return; } if (holder.LikeTextView?.Tag?.ToString() == "Liked") { item.IsCommentLiked = false; holder.LikeTextView.Text = ActivityContext.GetText(Resource.String.Btn_Like); holder.LikeTextView.SetTextColor(AppSettings.SetTabDarkTheme? Color.ParseColor("#ffffff"): Color.ParseColor("#000000")); holder.LikeTextView.Tag = "Like"; //sent api Dislike comment reply_like switch (Type) { case "Comment": PollyController.RunRetryPolicyFunction(new List <Func <Task> > { () => RequestsAsync.Article.LikeUnLikeCommentAsync(item.BlogId, item.Id, false) }); break; case "Reply": PollyController.RunRetryPolicyFunction(new List <Func <Task> > { () => RequestsAsync.Article.LikeUnLikeCommentAsync(item.BlogId, item.Id, false, "reply_like") }); break; } } else { item.IsCommentLiked = true; holder.LikeTextView.Text = ActivityContext.GetText(Resource.String.Btn_Liked); holder.LikeTextView.SetTextColor(Color.ParseColor(AppSettings.MainColor)); holder.LikeTextView.Tag = "Liked"; //sent api like comment switch (Type) { case "Comment": PollyController.RunRetryPolicyFunction(new List <Func <Task> > { () => RequestsAsync.Article.LikeUnLikeCommentAsync(item.BlogId, item.Id, true) }); break; case "Reply": PollyController.RunRetryPolicyFunction(new List <Func <Task> > { () => RequestsAsync.Article.LikeUnLikeCommentAsync(item.BlogId, item.Id, true, "reply_like") }); break; } } } catch (Exception e) { Methods.DisplayReportResultTrack(e); } }; } catch (Exception e) { Methods.DisplayReportResultTrack(e); } }
public void LoadCommentData(CommentObjectExtra item, CommentAdapterViewHolder holder, int position = 0, bool hasClickEvents = true) { try { if (!string.IsNullOrEmpty(item.Text) || !string.IsNullOrWhiteSpace(item.Text)) { var changer = new TextSanitizer(holder.CommentText, ActivityContext); changer.Load(Methods.FunString.DecodeString(item.Text)); } else { holder.CommentText.Visibility = ViewStates.Gone; } holder.TimeTextView.Text = Methods.Time.TimeAgo(int.Parse(item.Time)); holder.UserName.Text = item.Publisher.Name; GlideImageLoader.LoadImage(ActivityContext, item.Publisher.Avatar, holder.Image, ImageStyle.CircleCrop, ImagePlaceholders.Drawable); var textHighLighter = item.Publisher.Name; var textIsPro = string.Empty; if (item.Publisher.Verified == "1") { textHighLighter += " " + IonIconsFonts.CheckmarkCircled; } if (item.Publisher.IsPro == "1") { textIsPro = " " + IonIconsFonts.Flash; textHighLighter += textIsPro; } var decorator = TextDecorator.Decorate(holder.UserName, textHighLighter).SetTextStyle((int)TypefaceStyle.Bold, 0, item.Publisher.Name.Length); if (item.Publisher.Verified == "1") { decorator.SetTextColor(Resource.Color.Post_IsVerified, IonIconsFonts.CheckmarkCircled); } if (item.Publisher.IsPro == "1") { decorator.SetTextColor(Resource.Color.text_color_in_between, textIsPro); } decorator.Build(); //Image if (holder.ItemViewType == 1 || holder.CommentImage != null) { if (!string.IsNullOrEmpty(item.CFile) && (item.CFile.Contains("file://") || item.CFile.Contains("content://") || item.CFile.Contains("storage") || item.CFile.Contains("/data/user/0/"))) { File file2 = new File(item.CFile); var photoUri = FileProvider.GetUriForFile(ActivityContext, ActivityContext.PackageName + ".fileprovider", file2); Glide.With(ActivityContext).Load(photoUri).Apply(new RequestOptions()).Into(holder.CommentImage); //GlideImageLoader.LoadImage(ActivityContext,item.CFile, holder.CommentImage, ImageStyle.CenterCrop, ImagePlaceholders.Color); } else { if (!item.CFile.Contains(Client.WebsiteUrl)) { item.CFile = WoWonderTools.GetTheFinalLink(item.CFile); } GlideImageLoader.LoadImage(ActivityContext, item.CFile, holder.CommentImage, ImageStyle.CenterCrop, ImagePlaceholders.Color); } } //Voice if (holder.VoiceLayout != null && !string.IsNullOrEmpty(item.Record)) { LoadAudioItem(holder, position, item); } if (item.Replies != "0" && item.Replies != null) { holder.ReplyTextView.Text = ActivityContext.GetText(Resource.String.Lbl_Reply) + " " + "(" + item.Replies + ")"; } if (AppSettings.PostButton == PostButtonSystem.ReactionDefault || AppSettings.PostButton == PostButtonSystem.ReactionSubShine) { item.Reaction ??= new WoWonderClient.Classes.Posts.Reaction(); if ((bool)(item.Reaction != null & item.Reaction?.IsReacted)) { if (!string.IsNullOrEmpty(item.Reaction.Type)) { switch (item.Reaction.Type) { case "1": case "Like": ReactionComment.SetReactionPack(holder, ReactConstants.Like); holder.LikeTextView.Tag = "Liked"; break; case "2": case "Love": ReactionComment.SetReactionPack(holder, ReactConstants.Love); holder.LikeTextView.Tag = "Liked"; break; case "3": case "HaHa": ReactionComment.SetReactionPack(holder, ReactConstants.HaHa); holder.LikeTextView.Tag = "Liked"; break; case "4": case "Wow": ReactionComment.SetReactionPack(holder, ReactConstants.Wow); holder.LikeTextView.Tag = "Liked"; break; case "5": case "Sad": ReactionComment.SetReactionPack(holder, ReactConstants.Sad); holder.LikeTextView.Tag = "Liked"; break; case "6": case "Angry": ReactionComment.SetReactionPack(holder, ReactConstants.Angry); holder.LikeTextView.Tag = "Liked"; break; default: holder.LikeTextView.Text = ActivityContext.GetText(Resource.String.Btn_Like); holder.LikeTextView.SetTextColor(AppSettings.SetTabDarkTheme ? Color.White : Color.Black); holder.LikeTextView.Tag = "Like"; break; } } } else { holder.LikeTextView.Text = ActivityContext.GetText(Resource.String.Btn_Like); holder.LikeTextView.SetTextColor(AppSettings.SetTabDarkTheme ? Color.White : Color.Black); holder.LikeTextView.Tag = "Like"; } } else if (AppSettings.PostButton == PostButtonSystem.Wonder || AppSettings.PostButton == PostButtonSystem.DisLike) { if ((bool)(item.Reaction != null & !item.Reaction?.IsReacted)) { ReactionComment.SetReactionPack(holder, ReactConstants.Default); } if (item.IsCommentLiked) { holder.LikeTextView.Text = ActivityContext.GetText(Resource.String.Btn_Liked); holder.LikeTextView.SetTextColor(Color.ParseColor(AppSettings.MainColor)); holder.LikeTextView.Tag = "Liked"; } switch (AppSettings.PostButton) { case PostButtonSystem.Wonder when item.IsCommentWondered: { holder.DislikeTextView.Text = ActivityContext.GetString(Resource.String.Lbl_wondered); holder.DislikeTextView.SetTextColor(Color.ParseColor(AppSettings.MainColor)); holder.DislikeTextView.Tag = "Disliked"; break; } case PostButtonSystem.Wonder: { holder.DislikeTextView.Text = ActivityContext.GetString(Resource.String.Btn_Wonder); holder.DislikeTextView.SetTextColor(AppSettings.SetTabDarkTheme ? Color.White : Color.Black); holder.DislikeTextView.Tag = "Dislike"; break; } case PostButtonSystem.DisLike when item.IsCommentWondered: { holder.DislikeTextView.Text = ActivityContext.GetString(Resource.String.Lbl_disliked); holder.DislikeTextView.SetTextColor(Color.ParseColor("#f89823")); holder.DislikeTextView.Tag = "Disliked"; break; } case PostButtonSystem.DisLike: { holder.DislikeTextView.Text = ActivityContext.GetString(Resource.String.Btn_Dislike); holder.DislikeTextView.SetTextColor(AppSettings.SetTabDarkTheme ? Color.White : Color.Black); holder.DislikeTextView.Tag = "Dislike"; break; } } } else { if (item.IsCommentLiked) { holder.LikeTextView.Text = ActivityContext.GetText(Resource.String.Btn_Liked); holder.LikeTextView.SetTextColor(Color.ParseColor(AppSettings.MainColor)); holder.LikeTextView.Tag = "Liked"; } else { holder.LikeTextView.Text = ActivityContext.GetText(Resource.String.Btn_Like); holder.LikeTextView.SetTextColor(AppSettings.SetTabDarkTheme ? Color.White : Color.Black); holder.LikeTextView.Tag = "Like"; } } holder.TimeTextView.Tag = "true"; } catch (Exception e) { Console.WriteLine(e); } }
private void LoadCommentMovies() { try { if (MoviesObject == null) { return; } if (AppSettings.FlowDirectionRightToLeft) { BubbleLayout.LayoutDirection = LayoutDirection.Rtl; } var changer = new TextSanitizer(CommentText, Activity); changer.Load(Methods.FunString.DecodeString(MoviesObject.Text)); TimeTextView.Text = Methods.Time.TimeAgo(int.Parse(MoviesObject.Posted)); UserName.Text = MoviesObject.UserData.Name; GlideImageLoader.LoadImage(Activity, MoviesObject.UserData.Avatar, Image, ImageStyle.CircleCrop, ImagePlaceholders.Drawable); var textHighLighter = MoviesObject.UserData.Name; var textIsPro = string.Empty; if (MoviesObject.UserData.Verified == "1") { textHighLighter += " " + IonIconsFonts.CheckmarkCircled; } if (MoviesObject.UserData.IsPro == "1") { textIsPro = " " + IonIconsFonts.Flash; textHighLighter += textIsPro; } var decorator = TextDecorator.Decorate(UserName, textHighLighter).SetTextStyle((int)TypefaceStyle.Bold, 0, MoviesObject.UserData.Name.Length); if (MoviesObject.UserData.Verified == "1") { decorator.SetTextColor(Resource.Color.Post_IsVerified, IonIconsFonts.CheckmarkCircled); } if (MoviesObject.UserData.IsPro == "1") { decorator.SetTextColor(Resource.Color.text_color_in_between, textIsPro); } decorator.Build(); if (MoviesObject.Replies?.Count > 0) { ReplyTextView.Text = Activity.GetText(Resource.String.Lbl_Reply) + " " + "(" + MoviesObject.Replies + ")"; } if (MoviesObject.IsCommentLiked) { LikeTextView.Text = Activity.GetText(Resource.String.Btn_Liked); LikeTextView.SetTextColor(Color.ParseColor(AppSettings.MainColor)); LikeTextView.Tag = "Liked"; } else { LikeTextView.Text = Activity.GetText(Resource.String.Btn_Like); LikeTextView.SetTextColor(AppSettings.SetTabDarkTheme ? Color.ParseColor("#ffffff") : Color.ParseColor("#000000")); LikeTextView.Tag = "Like"; } TimeTextView.Tag = "true"; if (Image.HasOnClickListeners) { return; } //Create an Event Image.Click += (sender, args) => { try { WoWonderTools.OpenProfile(Activity, MoviesObject.UserData.UserId, MoviesObject.UserData); } catch (Exception e) { Console.WriteLine(e); } }; LikeTextView.Click += delegate { try { if (!Methods.CheckConnectivity()) { Toast.MakeText(Activity, Activity.GetText(Resource.String.Lbl_CheckYourInternetConnection), ToastLength.Short).Show(); return; } if (LikeTextView.Tag.ToString() == "Liked") { LikeTextView.Text = Activity.GetText(Resource.String.Btn_Like); LikeTextView.SetTextColor(AppSettings.SetTabDarkTheme ? Color.ParseColor("#ffffff") : Color.ParseColor("#000000")); LikeTextView.Tag = "Like"; MoviesObject.IsCommentLiked = false; //sent api Dislike comment PollyController.RunRetryPolicyFunction(new List <Func <Task> > { () => RequestsAsync.Movies.LikeUnLikeCommentAsync(MoviesObject.MovieId, MoviesObject.Id, false) }); } else { LikeTextView.Text = Activity.GetText(Resource.String.Btn_Liked); LikeTextView.SetTextColor(Color.ParseColor(AppSettings.MainColor)); LikeTextView.Tag = "Liked"; MoviesObject.IsCommentLiked = true; //sent api Dislike comment PollyController.RunRetryPolicyFunction(new List <Func <Task> > { () => RequestsAsync.Movies.LikeUnLikeCommentAsync(MoviesObject.MovieId, MoviesObject.Id, false) }); } } catch (Exception e) { Console.WriteLine(e); } }; } catch (Exception e) { Console.WriteLine(e); } }
private async void LoadProfile() { try { if (ListUtils.MyProfileList.Count == 0) { await ApiRequest.GetProfile_Api(Activity); } var data = ListUtils.MyProfileList.FirstOrDefault(); if (data != null) { GlideImageLoader.LoadImage(Activity, data.Avatar, ImageUser, ImageStyle.CircleCrop, ImagePlaceholders.Color); //TxtFullName.Text = AppTools.GetNameFinal(data); CollapsingToolbar.Title = AppTools.GetNameFinal(data); TxtUserName.Text = "@" + data.Username; TxtPostCount.Text = Methods.FunString.FormatPriceValue(Int32.Parse(data.Favourites)); if (data.Followers != null && int.TryParse(data.Followers, out var numberFollowers)) { TxtFollowersCount.Text = Methods.FunString.FormatPriceValue(numberFollowers); } if (data.Following != null && int.TryParse(data.Following, out var numberFollowing)) { TxtFollowingCount.Text = Methods.FunString.FormatPriceValue(numberFollowing); } var font = Typeface.CreateFromAsset(Application.Context.Resources.Assets, "ionicons.ttf"); TxtFullName.SetTypeface(font, TypefaceStyle.Normal); var textHighLighter = AppTools.GetNameFinal(data); var textIsPro = string.Empty; if (data.Verified == "1") { textHighLighter += " " + IonIconsFonts.CheckmarkCircled; } if (data.BusinessAccount == "1") { textIsPro = " " + IonIconsFonts.SocialUsd; textHighLighter += textIsPro; } var decorator = TextDecorator.Decorate(TxtFullName, textHighLighter); if (data.Verified == "1") { decorator.SetTextColor(Resource.Color.Post_IsVerified, IonIconsFonts.CheckmarkCircled); } if (data.BusinessAccount == "1") { decorator.SetTextColor(Resource.Color.Post_IsBusiness, IonIconsFonts.SocialUsd); } decorator.Build(); } } 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 { if (viewHolder.ItemViewType == 666) { if (!(viewHolder is MainHolders.EmptyStateAdapterViewHolder emptyHolder)) { return; } emptyHolder.EmptyText.Text = "No Replies to be displayed"; return; } if (!(viewHolder is ReplyCommentAdapterViewHolder holder)) { return; } var item = ReplyCommentList[position]; if (item == null) { return; } if (AppSettings.FlowDirectionRightToLeft) { holder.BubbleLayout.LayoutDirection = LayoutDirection.Rtl; } if (!string.IsNullOrEmpty(item.Text) || !string.IsNullOrWhiteSpace(item.Text)) { var changer = new TextSanitizer(holder.CommentText, ActivityContext); changer.Load(Methods.FunString.DecodeString(item.Text)); } else { holder.CommentText.Visibility = ViewStates.Gone; } if (holder.TimeTextView.Tag?.ToString() == "true") { return; } holder.TimeTextView.Text = Methods.Time.TimeAgo(int.Parse(item.Time)); holder.UserName.Text = item.Publisher.Name; GlideImageLoader.LoadImage(ActivityContext, item.Publisher.Avatar, holder.Image, ImageStyle.CircleCrop, ImagePlaceholders.Color); var textHighLighter = item.Publisher.Name; var textIsPro = string.Empty; if (item.Publisher.Verified == "1") { textHighLighter += " " + IonIconsFonts.CheckmarkCircled; } if (item.Publisher.IsPro == "1") { textIsPro = " " + IonIconsFonts.Flash; textHighLighter += textIsPro; } var decorator = TextDecorator.Decorate(holder.UserName, textHighLighter) .SetTextStyle((int)TypefaceStyle.Bold, 0, item.Publisher.Name.Length); if (item.Publisher.Verified == "1") { decorator.SetTextColor(Resource.Color.Post_IsVerified, IonIconsFonts.CheckmarkCircled); } if (item.Publisher.IsPro == "1") { decorator.SetTextColor(Resource.Color.text_color_in_between, textIsPro); } decorator.Build(); if (holder.ItemViewType == 1) { if (!string.IsNullOrEmpty(item.CFile) && (item.CFile.Contains("file://") || item.CFile.Contains("content://") || item.CFile.Contains("storage") || item.CFile.Contains("/data/user/0/"))) { File file2 = new File(item.CFile); var photoUri = FileProvider.GetUriForFile(ActivityContext, ActivityContext.PackageName + ".fileprovider", file2); Glide.With(ActivityContext).Load(photoUri).Apply(new RequestOptions()).Into(holder.CommentImage); //GlideImageLoader.LoadImage(ActivityContext, item.CFile, holder.CommentImage, ImageStyle.CenterCrop, ImagePlaceholders.Color); } else { GlideImageLoader.LoadImage(ActivityContext, Client.WebsiteUrl + "/" + item.CFile, holder.CommentImage, ImageStyle.CenterCrop, ImagePlaceholders.Color); } } if (item.IsCommentLiked) { holder.LikeTextView.Text = ActivityContext.GetText(Resource.String.Btn_Liked); holder.LikeTextView.SetTextColor(Color.ParseColor(AppSettings.MainColor)); holder.LikeTextView.Tag = "Liked"; } else { holder.LikeTextView.Text = ActivityContext.GetText(Resource.String.Btn_Like); if (AppSettings.SetTabDarkTheme) { holder.LikeTextView.SetTextColor(Color.ParseColor("#ffffff")); } else { holder.LikeTextView.SetTextColor(Color.ParseColor("#000000")); } holder.LikeTextView.Tag = "Like"; } holder.TimeTextView.Tag = "true"; if (holder.Image.HasOnClickListeners) { return; } var postEventListener = new CommentClickListener(ActivityContext, "Reply"); //Create an Event holder.MainView.LongClick += (sender, e) => postEventListener.MoreCommentReplyPostClick(new CommentReplyClickEventArgs { CommentObject = item, Position = position, View = holder.MainView }); holder.Image.Click += (sender, args) => postEventListener.ProfilePostClick(new ProfileClickEventArgs { Holder = holder, CommentClass = item, Position = position, View = holder.MainView }); holder.ReplyTextView.Click += (sender, args) => { try { ActivityContext.TxtComment.Text = ""; ActivityContext.TxtComment.Text = "@" + item.Publisher.Username + " "; } catch (Exception e) { Console.WriteLine(e); } }; holder.LikeTextView.Click += delegate { try { if (holder.LikeTextView.Tag.ToString() == "Liked") { item.IsCommentLiked = false; holder.LikeTextView.Text = ActivityContext.GetText(Resource.String.Btn_Like); if (AppSettings.SetTabDarkTheme) { holder.LikeTextView.SetTextColor(Color.ParseColor("#ffffff")); } else { holder.LikeTextView.SetTextColor(Color.ParseColor("#000000")); } holder.LikeTextView.Tag = "Like"; //sent api Dislike comment PollyController.RunRetryPolicyFunction(new List <Func <Task> > { () => RequestsAsync.Comment.LikeUnLikeCommentAsync(item.Id, false) }); } else { item.IsCommentLiked = true; holder.LikeTextView.Text = ActivityContext.GetText(Resource.String.Btn_Liked); holder.LikeTextView.SetTextColor(Color.ParseColor(AppSettings.MainColor)); holder.LikeTextView.Tag = "Liked"; //sent api like comment PollyController.RunRetryPolicyFunction(new List <Func <Task> > { () => RequestsAsync.Comment.LikeUnLikeCommentAsync(item.Id, true) }); } } catch (Exception e) { Console.WriteLine(e); } }; holder.CommentImage.Click += (sender, args) => postEventListener.OpenImageLightBox(item); } catch (Exception exception) { Console.WriteLine(exception); } }
private static void LoadCommentData(CommentsMoviesObject item, RecyclerView.ViewHolder viewHolder, int position = 0) { try { if (!(viewHolder is MoviesCommentAdapterViewHolder holder)) { return; } if (AppSettings.FlowDirectionRightToLeft) { holder.BubbleLayout.LayoutDirection = LayoutDirection.Rtl; } var changer = new TextSanitizer(holder.CommentText, ActivityContext); changer.Load(Methods.FunString.DecodeString(item.Text)); holder.TimeTextView.Text = Methods.Time.TimeAgo(int.Parse(item.Posted)); holder.UserName.Text = item.UserData.Name; GlideImageLoader.LoadImage(ActivityContext, item.UserData.Avatar, holder.Image, ImageStyle.CircleCrop, ImagePlaceholders.Drawable); var textHighLighter = item.UserData.Name; var textIsPro = string.Empty; if (item.UserData.Verified == "1") { textHighLighter += " " + IonIconsFonts.CheckmarkCircled; } if (item.UserData.IsPro == "0") { textIsPro = " " + IonIconsFonts.Flash; textHighLighter += textIsPro; } var decorator = TextDecorator.Decorate(holder.UserName, textHighLighter).SetTextStyle((int)TypefaceStyle.Bold, 0, item.UserData.Name.Length); if (item.UserData.Verified == "1") { decorator.SetTextColor(Resource.Color.Post_IsVerified, IonIconsFonts.CheckmarkCircled); } if (item.UserData.IsPro == "1") { decorator.SetTextColor(Resource.Color.text_color_in_between, textIsPro); } decorator.Build(); if (item.Replies?.Count > 0) { holder.ReplyTextView.Text = ActivityContext.GetText(Resource.String.Lbl_Reply) + " " + "(" + item.Replies.Count + ")"; } if (item.IsCommentLiked) { holder.LikeTextView.Text = ActivityContext.GetText(Resource.String.Btn_Liked); holder.LikeTextView.SetTextColor(Color.ParseColor(AppSettings.MainColor)); holder.LikeTextView.Tag = "Liked"; } else { holder.LikeTextView.Text = ActivityContext.GetText(Resource.String.Btn_Like); holder.LikeTextView.SetTextColor(AppSettings.SetTabDarkTheme ? Color.ParseColor("#ffffff") : Color.ParseColor("#000000")); holder.LikeTextView.Tag = "Like"; } holder.TimeTextView.Tag = "true"; if (holder.Image.HasOnClickListeners) { return; } var postEventListener = new MoviesCommentClickListener(ActivityContext, Type); //Create an Event holder.MainView.LongClick += (sender, e) => postEventListener.MoreCommentReplyPostClick(new CommentReplyMoviesClickEventArgs { CommentObject = item, Position = position, View = holder.MainView }); holder.Image.Click += (sender, args) => postEventListener.ProfileClick(new CommentReplyMoviesClickEventArgs { Holder = holder, CommentObject = item, Position = position, View = holder.MainView }); switch (Type) { case "Comment": holder.ReplyTextView.Click += (sender, args) => VideoViewerActivity.GetInstance()?.CommentReplyClick(item); break; case "Reply": holder.ReplyTextView.Click += (sender, args) => VideoViewerActivity.GetInstance()?.ReplyOnReplyClick(item); break; } holder.LikeTextView.Click += delegate { try { if (!Methods.CheckConnectivity()) { Toast.MakeText(ActivityContext, ActivityContext.GetText(Resource.String.Lbl_CheckYourInternetConnection), ToastLength.Short).Show(); return; } if (holder.LikeTextView.Tag.ToString() == "Liked") { item.IsCommentLiked = false; holder.LikeTextView.Text = ActivityContext.GetText(Resource.String.Btn_Like); holder.LikeTextView.SetTextColor(AppSettings.SetTabDarkTheme ? Color.ParseColor("#ffffff") : Color.ParseColor("#000000")); holder.LikeTextView.Tag = "Like"; //sent api Dislike comment reply_like switch (Type) { case "Comment": PollyController.RunRetryPolicyFunction(new List <Func <Task> > { () => RequestsAsync.Movies.LikeUnLikeCommentAsync(item.MovieId, item.Id, false) }); break; case "Reply": PollyController.RunRetryPolicyFunction(new List <Func <Task> > { () => RequestsAsync.Movies.LikeUnLikeCommentAsync(item.MovieId, item.Id, false, "reply_like") }); break; } } else { item.IsCommentLiked = true; holder.LikeTextView.Text = ActivityContext.GetText(Resource.String.Btn_Liked); holder.LikeTextView.SetTextColor(Color.ParseColor(AppSettings.MainColor)); holder.LikeTextView.Tag = "Liked"; //sent api like comment switch (Type) { case "Comment": PollyController.RunRetryPolicyFunction(new List <Func <Task> > { () => RequestsAsync.Movies.LikeUnLikeCommentAsync(item.MovieId, item.Id, true) }); break; case "Reply": PollyController.RunRetryPolicyFunction(new List <Func <Task> > { () => RequestsAsync.Movies.LikeUnLikeCommentAsync(item.MovieId, item.Id, true, "reply_like") }); break; } } } catch (Exception e) { Console.WriteLine(e); } }; } catch (Exception e) { Console.WriteLine(e); } }
public void LoadCommentData(CommentObjectExtra item, RecyclerView.ViewHolder viewHolder, int position = 0, bool hasClickEvents = true) { try { if (!(viewHolder is CommentAdapterViewHolder holder)) { return; } if (AppSettings.FlowDirectionRightToLeft) { holder.BubbleLayout.LayoutDirection = LayoutDirection.Rtl; } if (!string.IsNullOrEmpty(item.Text) || !string.IsNullOrWhiteSpace(item.Text)) { var changer = new TextSanitizer(holder.CommentText, ActivityContext); changer.Load(Methods.FunString.DecodeString(item.Text)); } else { holder.CommentText.Visibility = ViewStates.Gone; } holder.TimeTextView.Text = Methods.Time.TimeAgo(int.Parse(item.Time)); holder.UserName.Text = item.Publisher.Name; GlideImageLoader.LoadImage(ActivityContext, item.Publisher.Avatar, holder.Image, ImageStyle.CircleCrop, ImagePlaceholders.Drawable); var textHighLighter = item.Publisher.Name; var textIsPro = string.Empty; if (item.Publisher.Verified == "1") { textHighLighter += " " + IonIconsFonts.CheckmarkCircled; } if (item.Publisher.IsPro == "1") { textIsPro = " " + IonIconsFonts.Flash; textHighLighter += textIsPro; } var decorator = TextDecorator.Decorate(holder.UserName, textHighLighter).SetTextStyle((int)TypefaceStyle.Bold, 0, item.Publisher.Name.Length); if (item.Publisher.Verified == "1") { decorator.SetTextColor(Resource.Color.Post_IsVerified, IonIconsFonts.CheckmarkCircled); } if (item.Publisher.IsPro == "1") { decorator.SetTextColor(Resource.Color.text_color_in_between, textIsPro); } decorator.Build(); //Image if (holder.ItemViewType == 1 || holder.CommentImage != null) { if (!string.IsNullOrEmpty(item.CFile) && (item.CFile.Contains("file://") || item.CFile.Contains("content://") || item.CFile.Contains("storage") || item.CFile.Contains("/data/user/0/"))) { File file2 = new File(item.CFile); var photoUri = FileProvider.GetUriForFile(ActivityContext, ActivityContext.PackageName + ".fileprovider", file2); Glide.With(ActivityContext).Load(photoUri).Apply(new RequestOptions()).Into(holder.CommentImage); //GlideImageLoader.LoadImage(ActivityContext,item.CFile, holder.CommentImage, ImageStyle.CenterCrop, ImagePlaceholders.Color); } else { if (!item.CFile.Contains(Client.WebsiteUrl)) { item.CFile = WoWonderTools.GetTheFinalLink(item.CFile); } GlideImageLoader.LoadImage(ActivityContext, item.CFile, holder.CommentImage, ImageStyle.CenterCrop, ImagePlaceholders.Color); } } //Voice if (holder.VoiceLayout != null && !string.IsNullOrEmpty(item.Record)) { LoadAudioItem(holder, position, item); } if (item.Replies != "0" && item.Replies != null) { holder.ReplyTextView.Text = ActivityContext.GetText(Resource.String.Lbl_Reply) + " " + "(" + item.Replies + ")"; } if (item.IsCommentLiked) { holder.LikeTextView.Text = ActivityContext.GetText(Resource.String.Btn_Liked); holder.LikeTextView.SetTextColor(Color.ParseColor(AppSettings.MainColor)); holder.LikeTextView.Tag = "Liked"; } else { holder.LikeTextView.Text = ActivityContext.GetText(Resource.String.Btn_Like); if (AppSettings.SetTabDarkTheme || ThemeColor == "Dark") { holder.ReplyTextView.SetTextColor(Color.White); holder.LikeTextView.SetTextColor(Color.White); } else { holder.ReplyTextView.SetTextColor(Color.Black); holder.LikeTextView.SetTextColor(Color.Black); } holder.LikeTextView.Tag = "Like"; } holder.TimeTextView.Tag = "true"; if (holder.Image.HasOnClickListeners) { return; } var postEventListener = new CommentClickListener(ActivityContext, "Comment"); //Create an Event holder.MainView.LongClick += (sender, e) => postEventListener.MoreCommentReplyPostClick(new CommentReplyClickEventArgs { CommentObject = item, Position = position, View = holder.MainView }); holder.Image.Click += (sender, args) => postEventListener.ProfilePostClick(new ProfileClickEventArgs { Holder = holder, CommentClass = item, Position = position, View = holder.MainView }); if (hasClickEvents) { holder.ReplyTextView.Click += (sender, args) => postEventListener.CommentReplyPostClick(new CommentReplyClickEventArgs { CommentObject = item, Position = position, View = holder.MainView }); } holder.LikeTextView.Click += delegate { try { if (holder.LikeTextView.Tag.ToString() == "Liked") { item.IsCommentLiked = false; holder.LikeTextView.Text = ActivityContext.GetText(Resource.String.Btn_Like); if (AppSettings.SetTabDarkTheme || ThemeColor == "Dark") { holder.LikeTextView.SetTextColor(Color.White); } else { holder.LikeTextView.SetTextColor(Color.Black); } holder.LikeTextView.Tag = "Like"; //sent api Dislike comment PollyController.RunRetryPolicyFunction(new List <Func <Task> > { () => RequestsAsync.Comment.LikeUnLikeCommentAsync(item.Id, false) }); } else { item.IsCommentLiked = true; holder.LikeTextView.Text = ActivityContext.GetText(Resource.String.Btn_Liked); holder.LikeTextView.SetTextColor(Color.ParseColor(AppSettings.MainColor)); holder.LikeTextView.Tag = "Liked"; //sent api like comment PollyController.RunRetryPolicyFunction(new List <Func <Task> > { () => RequestsAsync.Comment.LikeUnLikeCommentAsync(item.Id, true) }); } } catch (Exception e) { Console.WriteLine(e); } }; if (holder.CommentImage != null) { holder.CommentImage.Click += (sender, args) => postEventListener.OpenImageLightBox(item); } } 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 { if (viewHolder.ItemViewType == 666) { if (!(viewHolder is AdapterHolders.EmptyStateAdapterViewHolder emptyHolder)) { return; } emptyHolder.EmptyText.Text = "No Replies to be displayed"; return; } if (!(viewHolder is CommentAdapterViewHolder holder)) { return; } var item = ReplyCommentList[position]; if (item == null) { return; } if (AppSettings.FlowDirectionRightToLeft) { holder.BubbleLayout.LayoutDirection = LayoutDirection.Rtl; } if (!string.IsNullOrEmpty(item.Orginaltext) || !string.IsNullOrWhiteSpace(item.Orginaltext)) { var changer = new TextSanitizer(holder.CommentText, ActivityContext); changer.Load(Methods.FunString.DecodeString(item.Orginaltext)); } else { holder.CommentText.Visibility = ViewStates.Gone; } if (holder.TimeTextView.Tag?.ToString() == "true") { return; } holder.TimeTextView.Text = Methods.Time.TimeAgo(Convert.ToInt32(item.Time), false); holder.UserName.Text = item.Publisher.Name; GlideImageLoader.LoadImage(ActivityContext, item.Publisher.Avatar, holder.Image, ImageStyle.CircleCrop, ImagePlaceholders.Color); var textHighLighter = item.Publisher.Name; var textIsPro = string.Empty; if (item.Publisher.Verified == "1") { textHighLighter += " " + IonIconsFonts.CheckmarkCircled; } if (item.Publisher.IsPro == "1") { textIsPro = " " + IonIconsFonts.Flash; textHighLighter += textIsPro; } var decorator = TextDecorator.Decorate(holder.UserName, textHighLighter) .SetTextStyle((int)TypefaceStyle.Bold, 0, item.Publisher.Name.Length); if (item.Publisher.Verified == "1") { decorator.SetTextColor(Resource.Color.Post_IsVerified, IonIconsFonts.CheckmarkCircled); } if (item.Publisher.IsPro == "1") { decorator.SetTextColor(Resource.Color.text_color_in_between, textIsPro); } decorator.Build(); if (holder.ItemViewType == 1) { if (!string.IsNullOrEmpty(item.CFile) && (item.CFile.Contains("file://") || item.CFile.Contains("content://") || item.CFile.Contains("storage") || item.CFile.Contains("/data/user/0/"))) { File file2 = new File(item.CFile); var photoUri = FileProvider.GetUriForFile(ActivityContext, ActivityContext.PackageName + ".fileprovider", file2); Glide.With(ActivityContext).Load(photoUri).Apply(new RequestOptions()).Into(holder.CommentImage); //GlideImageLoader.LoadImage(ActivityContext, item.CFile, holder.CommentImage, ImageStyle.CenterCrop, ImagePlaceholders.Color); } else { GlideImageLoader.LoadImage(ActivityContext, Client.WebsiteUrl + "/" + item.CFile, holder.CommentImage, ImageStyle.CenterCrop, ImagePlaceholders.Color); } } if (AppSettings.PostButton == PostButtonSystem.ReactionDefault || AppSettings.PostButton == PostButtonSystem.ReactionSubShine) { item.Reaction ??= new WoWonderClient.Classes.Posts.Reaction(); if (item.Reaction.Count > 0) { holder.CountLikeSection.Visibility = ViewStates.Visible; holder.CountLike.Text = Methods.FunString.FormatPriceValue(item.Reaction.Count); } else { holder.CountLikeSection.Visibility = ViewStates.Gone; } if (item.Reaction.IsReacted != null && item.Reaction.IsReacted.Value) { if (!string.IsNullOrEmpty(item.Reaction.Type)) { var react = ListUtils.SettingsSiteList?.PostReactionsTypes?.FirstOrDefault(a => a.Value?.Id == item.Reaction.Type).Value?.Id ?? ""; switch (react) { case "1": ReactionComment.SetReactionPack(holder, ReactConstants.Like); holder.LikeTextView.Tag = "Liked"; holder.ImageCountLike.SetImageResource(Resource.Drawable.emoji_like); break; case "2": ReactionComment.SetReactionPack(holder, ReactConstants.Love); holder.LikeTextView.Tag = "Liked"; holder.ImageCountLike.SetImageResource(Resource.Drawable.emoji_love); break; case "3": ReactionComment.SetReactionPack(holder, ReactConstants.HaHa); holder.LikeTextView.Tag = "Liked"; holder.ImageCountLike.SetImageResource(Resource.Drawable.emoji_haha); break; case "4": ReactionComment.SetReactionPack(holder, ReactConstants.Wow); holder.LikeTextView.Tag = "Liked"; holder.ImageCountLike.SetImageResource(Resource.Drawable.emoji_wow); break; case "5": ReactionComment.SetReactionPack(holder, ReactConstants.Sad); holder.LikeTextView.Tag = "Liked"; holder.ImageCountLike.SetImageResource(Resource.Drawable.emoji_sad); break; case "6": ReactionComment.SetReactionPack(holder, ReactConstants.Angry); holder.LikeTextView.Tag = "Liked"; holder.ImageCountLike.SetImageResource(Resource.Drawable.emoji_angry); break; default: holder.LikeTextView.Text = ActivityContext.GetText(Resource.String.Btn_Like); holder.LikeTextView.SetTextColor(AppSettings.SetTabDarkTheme ? Color.White : Color.Black); holder.LikeTextView.Tag = "Like"; if (item.Reaction.Count > 0) { holder.ImageCountLike.SetImageResource(Resource.Drawable.emoji_like); } break; } } } else { holder.LikeTextView.Text = ActivityContext.GetText(Resource.String.Btn_Like); holder.LikeTextView.SetTextColor(AppSettings.SetTabDarkTheme ? Color.White : Color.Black); holder.LikeTextView.Tag = "Like"; if (item.Reaction.Count > 0) { holder.ImageCountLike.SetImageResource(Resource.Drawable.emoji_like); } } } else if (AppSettings.PostButton == PostButtonSystem.Wonder || AppSettings.PostButton == PostButtonSystem.DisLike) { if (item.Reaction.IsReacted != null && !item.Reaction.IsReacted.Value) { ReactionComment.SetReactionPack(holder, ReactConstants.Default); } if (item.IsCommentLiked) { holder.LikeTextView.Text = ActivityContext.GetText(Resource.String.Btn_Liked); holder.LikeTextView.SetTextColor(Color.ParseColor(AppSettings.MainColor)); holder.LikeTextView.Tag = "Liked"; } switch (AppSettings.PostButton) { case PostButtonSystem.Wonder when item.IsCommentWondered: { holder.DislikeTextView.Text = ActivityContext.GetString(Resource.String.Lbl_wondered); holder.DislikeTextView.SetTextColor(Color.ParseColor(AppSettings.MainColor)); holder.DislikeTextView.Tag = "Disliked"; break; } case PostButtonSystem.Wonder: { holder.DislikeTextView.Text = ActivityContext.GetString(Resource.String.Btn_Wonder); holder.DislikeTextView.SetTextColor(AppSettings.SetTabDarkTheme ? Color.White : Color.Black); holder.DislikeTextView.Tag = "Dislike"; break; } case PostButtonSystem.DisLike when item.IsCommentWondered: { holder.DislikeTextView.Text = ActivityContext.GetString(Resource.String.Lbl_disliked); holder.DislikeTextView.SetTextColor(Color.ParseColor("#f89823")); holder.DislikeTextView.Tag = "Disliked"; break; } case PostButtonSystem.DisLike: { holder.DislikeTextView.Text = ActivityContext.GetString(Resource.String.Btn_Dislike); holder.DislikeTextView.SetTextColor(AppSettings.SetTabDarkTheme ? Color.White : Color.Black); holder.DislikeTextView.Tag = "Dislike"; break; } } } else { if (item.IsCommentLiked) { holder.LikeTextView.Text = ActivityContext.GetText(Resource.String.Btn_Liked); holder.LikeTextView.SetTextColor(Color.ParseColor(AppSettings.MainColor)); holder.LikeTextView.Tag = "Liked"; } else { holder.LikeTextView.Text = ActivityContext.GetText(Resource.String.Btn_Like); holder.LikeTextView.SetTextColor(AppSettings.SetTabDarkTheme ? Color.White : Color.Black); holder.LikeTextView.Tag = "Like"; } } holder.TimeTextView.Tag = "true"; } catch (Exception exception) { Methods.DisplayReportResultTrack(exception); } }