private void SetDataSong()
        {
            try
            {
                if (DataObject != null)
                {
                    GlideImageLoader.LoadImage(ActivityContext, DataObject.Thumbnail, ImageSong, ImageStyle.CenterCrop, ImagePlaceholders.Drawable);

                    TxtNameSong.Text      = DataObject.Title;
                    TxtGenres.Text        = DataObject.CategoryName;
                    TxtDate.Text          = DataObject.TimeFormatted;
                    TxtPublisherName.Text = DeepSoundTools.GetNameFinal(DataObject.Publisher);

                    CountLike.Text    = Methods.FunString.FormatPriceValue(Convert.ToInt32(DataObject.CountLikes));
                    CountStars.Text   = Methods.FunString.FormatPriceValue(Convert.ToInt32(DataObject.CountFavorite));
                    CountViews.Text   = Methods.FunString.FormatPriceValue(Convert.ToInt32(DataObject.CountViews.Replace("K", "").Replace("M", "")));
                    CountShare.Text   = Methods.FunString.FormatPriceValue(Convert.ToInt32(DataObject.CountShares));
                    CountComment.Text = Methods.FunString.FormatPriceValue(Convert.ToInt32(DataObject.CountComment));

                    TextSanitizer aboutSanitizer = new TextSanitizer(TxtAbout, ActivityContext);
                    aboutSanitizer.Load(Methods.FunString.DecodeString(DataObject.Description));

                    TextSanitizer tagsSanitizer = new TextSanitizer(TxtTags, ActivityContext);
                    tagsSanitizer.Load(ActivityContext.GetText(Resource.String.Lbl_Tags) + " : \n \n" + Methods.FunString.DecodeString(DataObject.Tags.Replace(",", " #")));

                    TextSanitizer lyricsSanitizer = new TextSanitizer(TxtLyrics, ActivityContext);
                    lyricsSanitizer.Load(ActivityContext.GetText(Resource.String.Lbl_Lyrics) + " : \n \n" + Methods.FunString.DecodeString(DataObject.Lyrics));
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }
        private void LoadDataUser()
        {
            try
            {
                CollapsingToolbar.Title = DeepSoundTools.GetNameFinal(DataUser);

                GlideImageLoader.LoadImage(Activity, DataUser.Avatar, ImageAvatar, ImageStyle.CircleCrop, ImagePlaceholders.Drawable);
                GlideImageLoader.LoadImage(Activity, DataUser.Cover, ImageCover, ImageStyle.CenterCrop, ImagePlaceholders.Drawable);

                TxtUserName.Text = DeepSoundTools.GetNameFinal(DataUser);

                TextSanitizer aboutSanitizer = new TextSanitizer(TxtAbout, Activity);
                aboutSanitizer.Load(DeepSoundTools.GetAboutFinal(DataUser));

                IconPro.Visibility      = DataUser.IsPro == 1 ? ViewStates.Visible : ViewStates.Gone;
                IconVerified.Visibility = DataUser.Verified == 1 ? ViewStates.Visible : ViewStates.Gone;

                if (DataUser.IsFollowing) // My Friend
                {
                    BtnFollow.SetColor(Color.ParseColor(AppSettings.MainColor));
                    BtnFollow.SetImageResource(Resource.Drawable.ic_tick);
                    BtnFollow.Tag = "friends";
                }
                else  //Not Friend
                {
                    BtnFollow.SetColor(Color.ParseColor("#444444"));
                    BtnFollow.SetImageResource(Resource.Drawable.ic_add);
                    BtnFollow.Tag = "Add";
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }
        private void GetReply()
        {
            try
            {
                if (UserinfoComment != null)
                {
                    TextSanitizer changer = new TextSanitizer(CommentText, Activity);
                    changer.Load(Methods.FunString.DecodeString(UserinfoComment.Text));

                    TimeTextView.Text = Methods.Time.TimeAgo(Convert.ToInt32(UserinfoComment.Time));

                    GlideImageLoader.LoadImage(Activity, UserinfoComment.Avatar, Image, ImageStyle.CircleCrop, ImagePlaceholders.Color);

                    ReplyButton.Visibility = ViewStates.Invisible;

                    LikeCount.Text = Activity.GetString(Resource.String.Lbl_Likes) + " " + "(" + UserinfoComment.Likes + ")";
                    LikeIcon.SetImageResource(UserinfoComment.IsLiked ? Resource.Drawable.ic_action_like_2 : Resource.Drawable.ic_action_like_1);
                }

                StartApiService();
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }
Esempio n. 4
0
        public void DisplayData(string fullname, string description, string avatar, string time, string videofile, int likesCount, bool isliked, bool isSaved, int votesCount)
        {
            try
            {
                Fullname.Text     = fullname;
                TimeTextView.Text = time;
                GlideImageLoader.LoadImage(Activity, avatar, UserAvatar, ImageStyle.CircleCrop, ImagePlaceholders.Drawable);

                var textSanitizer = new TextSanitizer(Description, Activity);

                if (!string.IsNullOrEmpty(description))
                {
                    ReadMoreOption.AddReadMoreTo(Description, Methods.FunString.DecodeString(description));
                    textSanitizer.Load(Methods.FunString.DecodeString(description));
                }
                else
                {
                    Description.Visibility = ViewStates.Gone;
                }

                CommentIcon.SetTextColor(AppSettings.SetTabDarkTheme ? Color.ParseColor("#888888") : Color.ParseColor("#444444"));

                LikeCount.Text = likesCount + " " + Context.GetText(Resource.String.Lbl_Likes);
                LikeIcon.Tag   = "Like";

                if (isliked)
                {
                    LikeIcon.SetTextColor(Color.ParseColor("#ed4856"));
                    FontUtils.SetTextViewIcon(FontsIconFrameWork.IonIcons, LikeIcon, IonIconsFonts.IosHeart);
                    LikeIcon.Tag = "Liked";
                }

                if (!isSaved)
                {
                    Favicon.SetTextColor(AppSettings.SetTabDarkTheme ? Color.ParseColor("#888888") : Color.ParseColor("#444444"));
                    FontUtils.SetTextViewIcon(FontsIconFrameWork.IonIcons, Favicon, IonIconsFonts.IosStarOutline);
                    Favicon.Tag = "Add";
                }
                else
                {
                    Favicon.SetTextColor(Color.ParseColor("#FFCE00"));
                    FontUtils.SetTextViewIcon(FontsIconFrameWork.IonIcons, Favicon, IonIconsFonts.AndroidStar);
                    Favicon.Tag = "Added";
                }


                CommentCount.Text = votesCount + " " + Context.GetText(Resource.String.Lbl_Comments);

                if (votesCount <= 4)
                {
                    ViewCommentsButton.Visibility = ViewStates.Gone;
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }
Esempio n. 5
0
        private void LoadReplies()
        {
            try
            {
                if (Comment == null)
                {
                    return;
                }

                GlideImageLoader.LoadImage(ActivityContext, Comment.CommentUserData.Avatar, Image, ImageStyle.CircleCrop, ImagePlaceholders.Drawable);

                TextSanitizer chnager = new TextSanitizer(CommentText, ActivityContext);
                chnager.Load(Methods.FunString.DecodeString(Comment.Text));
                TimeTextView.Text = Comment.TextTime;

                UsernameTextView.Text = AppTools.GetNameFinal(Comment.CommentUserData);

                LikeNumber.Text   = Methods.FunString.FormatPriceValue(Convert.ToInt32(Comment.Likes));
                UnLikeNumber.Text = Methods.FunString.FormatPriceValue(Convert.ToInt32(Comment.DisLikes));
                RepliesCount.Text = Comment.RepliesCount.ToString();

                if (Comment.IsLikedComment == 1)
                {
                    LikeiconView.SetColorFilter(Color.ParseColor(AppSettings.MainColor));
                    LikeButton.Tag = "1";
                }
                else
                {
                    LikeButton.Tag = "0";
                }

                if (Comment.IsDislikedComment == 1)
                {
                    UnLikeiconView.SetColorFilter(Color.ParseColor(AppSettings.MainColor));
                    UnLikeButton.Tag = "1";
                }
                else
                {
                    UnLikeButton.Tag = "0";
                }

                if (Comment.CommentReplies?.Count > 0)
                {
                    ReplyAdapter.ReplyList = new ObservableCollection <ReplyObject>(Comment.CommentReplies);
                    ReplyAdapter.NotifyDataSetChanged();
                    EmptyStateLayout.Visibility = ViewStates.Gone;
                }

                string offset = ReplyAdapter.ReplyList.LastOrDefault()?.Id.ToString() ?? "0";
                StartApiService(offset);
            }
            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 is CommentAdapterViewHolder holder)
                {
                    var item = CommentList[position];
                    if (item != null)
                    {
                        GlideImageLoader.LoadImage(ActivityContext, item.UserData.Avatar, holder.Image, ImageStyle.CircleCrop, ImagePlaceholders.Drawable);

                        TextSanitizer changer = new TextSanitizer(holder.CommentText, ActivityContext);
                        changer.Load(Methods.FunString.DecodeString(item.Value));

                        holder.TimeTextView.Text = item.SecondsFormated;

                        holder.LikeNumber.Text = Methods.FunString.FormatPriceValue(item.CountLiked);

                        holder.LikeiconView.Tag = item.IsLikedComment ? "Like" : "Liked";
                        SetLike(holder.LikeiconView);

                        holder.LikeButton.Tag = item.IsLikedComment ? "1" : "0";

                        if (!holder.Image.HasOnClickListeners)
                        {
                            holder.Image.Click += (sender, e) => AvatarClick(new AvatarCommentAdapterClickEventArgs {
                                Class = item, Position = position, View = holder.MainView
                            });
                        }

                        if (!holder.LikeButton.HasOnClickListeners)
                        {
                            holder.LikeButton.Click += (sender, e) => OnLikeButtonClick(holder, new CommentAdapterClickEventArgs {
                                Class = item, Position = position, View = holder.MainView
                            });
                        }
                    }
                }
            }
            catch (Exception exception)
            {
                Console.WriteLine(exception);
            }
        }
Esempio n. 7
0
        private async void LoadProfile()
        {
            try
            {
                //var dataUser = new SqLiteDatabase().GetMyProfile();

                if (ListUtils.MyProfileList.Count == 0)
                {
                    await ApiRequest.GetProfile_Api(Activity);
                }

                var data = ListUtils.MyProfileList.FirstOrDefault();
                if (data != null)
                {
                    GlideImageLoader.LoadImage(Activity, data.Avatar, UserProfileImage, ImageStyle.RoundedCrop, ImagePlaceholders.Color);

                    TxtName.Text     = AppTools.GetNameFinal(data);
                    TxtUsername.Text = data.Username;

                    TextSanitizerAutoLink.Load(AppTools.GetAboutFinal(data));

                    TxtCountFav.Text = Methods.FunString.FormatPriceValue(Int32.Parse(data.Favourites));

                    IconVerified.Visibility = data.Verified == "1" ? ViewStates.Visible : ViewStates.Gone;

                    IconBusiness.Visibility = data.BusinessAccount == "1" ? ViewStates.Visible : ViewStates.Gone;

                    if (data.Followers != null && int.TryParse(data.Followers, out var numberFollowers))
                    {
                        TxtCountFollowers.Text = Methods.FunString.FormatPriceValue(numberFollowers);
                    }

                    if (data.Following != null && int.TryParse(data.Following, out var numberFollowing))
                    {
                        TxtCountFollowing.Text = Methods.FunString.FormatPriceValue(numberFollowing);
                    }
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }
Esempio n. 8
0
        private void LoadDataUser()
        {
            try
            {
                var dataUser = ListUtils.MyUserInfoList.FirstOrDefault(a => a.Id == UserDetails.UserId);
                if (dataUser != null)
                {
                    CollapsingToolbar.Title = DeepSoundTools.GetNameFinal(dataUser);

                    GlideImageLoader.LoadImage(Activity, dataUser.Avatar, ImageAvatar, ImageStyle.CenterCrop, ImagePlaceholders.Drawable);
                    GlideImageLoader.LoadImage(Activity, dataUser.Cover, ImageCover, ImageStyle.CenterCrop, ImagePlaceholders.Drawable);

                    TxtFullName.Text = DeepSoundTools.GetNameFinal(dataUser);
                    TxtUserName.Text = "@" + dataUser.Username;

                    TextSanitizer aboutSanitizer = new TextSanitizer(TxtAbout, Activity);
                    aboutSanitizer.Load(DeepSoundTools.GetAboutFinal(dataUser));

                    //var readMoreOption = new XTextViewAdvanced.Builder(Activity)
                    //    .SetTextLength(200, XTextViewAdvanced.TypeCharacter)
                    //    .SetMoreLabel(Context.GetText(Resource.String.Lbl_ReadMore))
                    //    .SetLessLabel(Context.GetText(Resource.String.Lbl_ReadLess))
                    //    .SetMoreLabelColor(Color.ParseColor(AppSettings.MainColor))
                    //    .SetLessLabelColor(Color.ParseColor(AppSettings.MainColor))
                    //    .SetLabelUnderLine(true)
                    //    .SetAutoLink(true)
                    //    .Build();

                    //readMoreOption.AddReadMoreTo(TxtAbout, new Java.Lang.String(IMethods.FunString.DecodeString(DeepSoundTools.GetAboutFinal(dataUser))));

                    IconPro.Visibility      = dataUser.IsPro == 1 ? ViewStates.Visible : ViewStates.Gone;
                    IconVerified.Visibility = dataUser.Verified == 1 ? ViewStates.Visible : ViewStates.Gone;
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }
        public void LoadVideo_Data(GetMoviesObject.Movie videoObject)
        {
            try
            {
                if (videoObject != null)
                {
                    VideoTittle.Text = Methods.FunString.DecodeString(videoObject.Name);

                    VideoQualityTextView.Text = videoObject.Quality.ToUpperInvariant();
                    VideoViewsNumber.Text     = videoObject.Views + " " + Activity.GetText(Resource.String.Lbl_Views);
                    VideoVideoDate.Text       = Activity.GetText(Resource.String.Lbl_Published_on) + " " + videoObject.Release;

                    VideoVideoCategory.Text = videoObject.Genre;
                    VideoStars.Text         = videoObject.Stars;
                    VideoTag.Text           = videoObject.Producer;

                    TextSanitizerAutoLink.Load(Methods.FunString.DecodeString(videoObject.Description));
                }
            }
            catch (Exception exception)
            {
                Console.WriteLine(exception);
            }
        }
Esempio n. 10
0
        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);
            }
        }
Esempio n. 11
0
        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;
                }

                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 == "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.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 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)
                    {
                        Console.WriteLine(e);
                    }
                };
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }
        private void LoadDataUser(UserDataObject data)
        {
            try
            {
                //Cover
                GlideImageLoader.LoadImage(this, data.Cover, ImageUserCover, ImageStyle.CenterCrop, ImagePlaceholders.Drawable);

                //profile_picture
                GlideImageLoader.LoadImage(this, data.Avatar, ImageUserProfile, ImageStyle.CircleCrop, ImagePlaceholders.Drawable);

                TextSanitizer sanitizer = new TextSanitizer(TxtAbout, this);
                sanitizer.Load(WoWonderTools.GetAboutFinal(data));

                TxtFullname.Text = WoWonderTools.GetNameFinal(data);
                TxtUserName.Text = "@" + data.Username;

                if (data.Details.DetailsClass != null)
                {
                    var following = Methods.FunString.FormatPriceValue(Convert.ToInt32(data.Details.DetailsClass?.FollowingCount));
                    var followers = Methods.FunString.FormatPriceValue(Convert.ToInt32(data.Details.DetailsClass?.FollowersCount));

                    if (AppSettings.ConnectivitySystem == 1)
                    {
                        TxtFollowing.Visibility      = ViewStates.Visible;
                        TxtFollowingCount.Visibility = ViewStates.Visible;

                        TxtFollowers.Visibility      = ViewStates.Visible;
                        TxtFollowersCount.Visibility = ViewStates.Visible;

                        TxtFollowing.Text      = GetText(Resource.String.Lbl_Following);
                        TxtFollowingCount.Text = following;

                        TxtFollowers.Text      = GetText(Resource.String.Lbl_Followers);
                        TxtFollowersCount.Text = followers;
                    }
                    else
                    {
                        TxtFollowing.Visibility      = ViewStates.Visible;
                        TxtFollowingCount.Visibility = ViewStates.Visible;

                        TxtFollowers.Visibility      = ViewStates.Gone;
                        TxtFollowersCount.Visibility = ViewStates.Gone;

                        TxtFollowing.Text      = GetText(Resource.String.Lbl_Friends);
                        TxtFollowingCount.Text = following;
                    }
                }

                switch (data.IsFollowing)
                {
                // My Friend
                case "1":
                    AddFriendOrFollowButton.Visibility = ViewStates.Visible;
                    AddFriendOrFollowButton.SetColor(Color.ParseColor(AppSettings.MainColor));
                    AddFriendOrFollowButton.SetImageResource(Resource.Drawable.ic_tick);
                    AddFriendOrFollowButton.Tag = "friends";
                    break;

                // Request
                case "2":
                    AddFriendOrFollowButton.Visibility = ViewStates.Visible;
                    AddFriendOrFollowButton.SetColor(Color.ParseColor(AppSettings.MainColor));
                    AddFriendOrFollowButton.SetImageResource(Resource.Drawable.ic_requestAdd);
                    AddFriendOrFollowButton.Tag = "request";
                    break;

                //Not Friend
                case "0":
                    AddFriendOrFollowButton.Visibility = ViewStates.Visible;
                    AddFriendOrFollowButton.SetColor(Color.ParseColor("#8c8a8a"));
                    AddFriendOrFollowButton.SetImageResource(Resource.Drawable.ic_add);
                    AddFriendOrFollowButton.Tag = "Add";
                    break;
                }

                if (Methods.FunString.StringNullRemover(data.Gender) != "Empty")
                {
                    TxtGenderText.Text = data.Gender.ToLower() switch
                    {
                        "male" => GetText(Resource.String.Radio_Male),
                        "female" => GetText(Resource.String.Radio_Female),
                        _ => data.Gender
                    };

                    GenderLiner.Visibility = ViewStates.Visible;
                }
                else
                {
                    GenderLiner.Visibility = ViewStates.Gone;
                }

                if (Methods.FunString.StringNullRemover(data.Address) != "Empty")
                {
                    LocationLiner.Visibility = ViewStates.Visible;
                    TxtLocationText.Text     = data.Address;
                }
                else
                {
                    LocationLiner.Visibility = ViewStates.Gone;
                }

                if (AppSettings.EnableShowPhoneNumber)
                {
                    if (Methods.FunString.StringNullRemover(data.PhoneNumber) != "Empty")
                    {
                        MobileLiner.Visibility = ViewStates.Visible;
                        TxtMobileText.Text     = data.PhoneNumber;
                    }
                    else
                    {
                        MobileLiner.Visibility = ViewStates.Gone;
                    }
                }
                else
                {
                    MobileLiner.Visibility = ViewStates.Gone;
                }

                if (Methods.FunString.StringNullRemover(data.Website) != "Empty")
                {
                    WebsiteLiner.Visibility = ViewStates.Visible;
                    TxtWebsiteText.Text     = data.Website;
                }
                else
                {
                    WebsiteLiner.Visibility = ViewStates.Gone;
                }

                if (Methods.FunString.StringNullRemover(data.Working) != "Empty")
                {
                    WorkLiner.Visibility = ViewStates.Visible;
                    TxtWorkText.Text     = data.Working;
                }
                else
                {
                    WorkLiner.Visibility = ViewStates.Gone;
                }

                if (Methods.FunString.StringNullRemover(data.Facebook) == "Empty")
                {
                    BtnFacebook.Enabled = false;
                    BtnFacebook.SetColor(Color.ParseColor("#8c8a8a"));
                }
                else
                {
                    BtnFacebook.Enabled = true;
                }

                if (Methods.FunString.StringNullRemover(data.Google) == "Empty")
                {
                    BtnGoogle.Enabled = false;
                    BtnGoogle.SetColor(Color.ParseColor("#8c8a8a"));
                }
                else
                {
                    BtnGoogle.Enabled = true;
                }

                if (Methods.FunString.StringNullRemover(data.Twitter) == "Empty")
                {
                    BtnTwitter.Enabled = false;
                    BtnTwitter.SetColor(Color.ParseColor("#8c8a8a"));
                }
                else
                {
                    BtnTwitter.Enabled = true;
                }

                if (Methods.FunString.StringNullRemover(data.Youtube) == "Empty")
                {
                    BtnYoutube.Enabled = false;
                    BtnYoutube.SetColor(Color.ParseColor("#8c8a8a"));
                }
                else
                {
                    BtnYoutube.Enabled = true;
                }

                if (Methods.FunString.StringNullRemover(data.Vk) == "Empty")
                {
                    BtnVk.Enabled = false;
                    BtnVk.SetColor(Color.ParseColor("#8c8a8a"));
                }
                else
                {
                    BtnVk.Enabled = true;
                }

                if (Methods.FunString.StringNullRemover(data.Instagram) == "Empty")
                {
                    BtnInstegram.Enabled = false;
                    BtnInstegram.SetColor(Color.ParseColor("#8c8a8a"));
                }
                else
                {
                    BtnInstegram.Enabled = true;
                }
            }
            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);
            }
        }
Esempio n. 14
0
        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);
            }
        }
        //Click save data and sent api
        private async void BtnSaveOnClick(object sender, EventArgs e)
        {
            try
            {
                if (Methods.CheckConnectivity())
                {
                    //Show a progress
                    AndHUD.Shared.Show(this, GetText(Resource.String.Lbl_Loading));



                    var dictionary = new Dictionary <string, string>
                    {
                        { "name", EdtFullName.Text },
                        { "about_me", EdtAbout.Text },
                        { "facebook", EdtFacebook.Text },
                        { "website", EdtWebsite.Text },
                    };

                    if (string.IsNullOrEmpty(dictionary["website"]))
                    {
                        dictionary["website"] = "https://www.example.com/";
                    }

                    (int apiStatus, var respond) = await RequestsAsync.User.UpdateProfileAsync(UserDetails.UserId.ToString(), dictionary);

                    if (apiStatus == 200)
                    {
                        if (respond is MessageObject result)
                        {
                            Console.WriteLine(result.Message);
                            var local = ListUtils.MyUserInfoList.FirstOrDefault(a => a.Id == UserDetails.UserId);
                            if (local != null)
                            {
                                local.Name     = EdtFullName.Text;
                                local.About    = EdtAbout.Text;
                                local.Facebook = EdtFacebook.Text;
                                local.Website  = EdtWebsite.Text;

                                TextSanitizer aboutSanitizer = new TextSanitizer(HomeActivity.GetInstance()?.ProfileFragment.TxtAbout, this);
                                aboutSanitizer.Load(Methods.FunString.DecodeString(EdtAbout.Text));

                                SqLiteDatabase database = new SqLiteDatabase();
                                database.InsertOrUpdate_DataMyInfo(local);
                                database.Dispose();
                            }

                            Toast.MakeText(this, GetText(Resource.String.Lbl_Done), ToastLength.Short).Show();
                            AndHUD.Shared.Dismiss(this);


                            Intent returnIntent = new Intent();

                            returnIntent.PutExtra("name", dictionary["name"]);
                            returnIntent.PutExtra("about_me", dictionary["about_me"]);
                            returnIntent.PutExtra("facebook", dictionary["facebook"]);
                            returnIntent.PutExtra("website", dictionary["website"]);

                            SetResult(Result.Ok, returnIntent);

                            Finish();
                        }
                    }
                    else
                    {
                        if (respond is ErrorObject error)
                        {
                            var errorText = error.Error.Replace("&#039;", "'");
                            AndHUD.Shared.ShowError(this, errorText, MaskType.Clear, TimeSpan.FromSeconds(2));
                        }
                        Methods.DisplayReportResult(this, respond);
                    }

                    AndHUD.Shared.Dismiss(this);
                }
                else
                {
                    Toast.MakeText(this, GetText(Resource.String.Lbl_CheckYourInternetConnection), ToastLength.Short).Show();
                }
            }
            catch (Exception exception)
            {
                Console.WriteLine(exception);
                AndHUD.Shared.Dismiss(this);
            }
        }
Esempio n. 16
0
        // Replace the contents of a view (invoked by the layout manager)
        public override void OnBindViewHolder(RecyclerView.ViewHolder viewHolder, int position)
        {
            try
            {
                if (viewHolder is ReplyAdapterViewHolder holder)
                {
                    var item = ReplyList[position];
                    if (item != null)
                    {
                        holder.UnLikeButton.Visibility = ViewStates.Gone;
                        GlideImageLoader.LoadImage(ActivityContext, item.ReplyUserData.Avatar, holder.Image, ImageStyle.CircleCrop, ImagePlaceholders.Drawable);

                        TextSanitizer chnager = new TextSanitizer(holder.CommentText, ActivityContext);
                        chnager.Load(Methods.FunString.DecodeString(item.Text));
                        holder.TimeTextView.Text = item.TextTime;

                        holder.UsernameTextView.Text = AppTools.GetNameFinal(item.ReplyUserData);

                        holder.LikeNumber.Text         = Methods.FunString.FormatPriceValue(Convert.ToInt32(item.ReplyLikes));
                        holder.UnLikeNumber.Text       = Methods.FunString.FormatPriceValue(Convert.ToInt32(item.ReplyDislikes));
                        holder.RepliesCount.Visibility = ViewStates.Invisible;

                        if (item.IsLikedReply == 1)
                        {
                            holder.LikeiconView.SetColorFilter(Color.ParseColor(AppSettings.MainColor));
                            holder.LikeButton.Tag = "1";
                        }
                        else
                        {
                            holder.LikeButton.Tag = "0";
                        }

                        if (item.IsDislikedReply == 1)
                        {
                            holder.UnLikeiconView.SetColorFilter(Color.ParseColor(AppSettings.MainColor));
                            holder.UnLikeButton.Tag = "1";
                        }
                        else
                        {
                            holder.UnLikeButton.Tag = "0";
                        }

                        if (!holder.Image.HasOnClickListeners)
                        {
                            holder.Image.Click += (sender, e) => OnAvatarClick(new AvatarReplyAdapterClickEventArgs {
                                Class = item, Position = position, View = holder.MainView
                            });
                        }

                        if (!holder.LikeButton.HasOnClickListeners)
                        {
                            holder.LikeButton.Click += (sender, e) => OnLikeButtonClick(holder, new ReplyAdapterClickEventArgs {
                                Class = item, Position = position, View = holder.MainView
                            });
                        }

                        if (!holder.UnLikeButton.HasOnClickListeners)
                        {
                            holder.UnLikeButton.Click += (sender, e) => OnUnLikeButtonClick(holder, new ReplyAdapterClickEventArgs {
                                Class = item, Position = position, View = holder.MainView
                            });
                        }

                        if (!holder.ReplyButton.HasOnClickListeners)
                        {
                            holder.ReplyButton.Click += (sender, e) => OnReplyClick(new ReplyAdapterClickEventArgs {
                                Class = item, Position = position, View = holder.MainView
                            });
                        }
                    }
                }
            }
            catch (Exception exception)
            {
                Console.WriteLine(exception);
            }
        }
Esempio n. 17
0
        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);
            }
        }
Esempio n. 18
0
        public void SetDataDynamicForViewHolder(View itemView, TextView username, ImageView userAvatar, AutoLinkTextView description, TextView likeIcon, TextView favIcon, TextView commentCount, TextView likeCount, TextView viewMoreComments, TextView timeText, TextView commentIcon, TextView moreIcon, TextView shareIcon, TextView isBoostedIcon, PostsObject item)
        {
            try
            {
                if (item == null)
                {
                    return;
                }

                TextSanitizerAutoLink = new TextSanitizer(description, ActivityContext);

                GlideImageLoader.LoadImage(ActivityContext, item.Avatar, userAvatar, ImageStyle.CircleCrop, ImagePlaceholders.Drawable);

                username.Text = item.Username;

                string time = Methods.Time.TimeAgo(Convert.ToInt32(item.Time));
                timeText.Text = time;

                if (!string.IsNullOrEmpty(description.Text))
                {
                    ReadMoreOption.AddReadMoreTo(description, item.Description);
                    TextSanitizerAutoLink.Load(item.Description);
                }
                else
                {
                    description.Visibility = ViewStates.Gone;
                }

                if (item.Boosted == "1")
                {
                    FontUtils.SetTextViewIcon(FontsIconFrameWork.IonIcons, isBoostedIcon, IonIconsFonts.RibbonA);
                    isBoostedIcon.Text      += " " + ActivityContext.GetString(Resource.String.Lbl_Promoted);
                    isBoostedIcon.Visibility = ViewStates.Visible;
                }

                likeIcon.Tag = item.IsLiked ? "Like" : "Liked";
                ClickListeners.SetLike(likeIcon);

                favIcon.Tag = item.IsSaved ? "Add" : "Added";
                ClickListeners.SetFav(favIcon);

                commentCount.Text = item.Votes + " " + ActivityContext.GetString(Resource.String.Lbl_Comments);
                likeCount.Text    = item.Likes + " " + ActivityContext.GetString(Resource.String.Lbl_Likes);

                if (item.Votes > 0)
                {
                    viewMoreComments.Visibility = ViewStates.Visible;
                    viewMoreComments.Text       = ActivityContext.GetString(Resource.String.Lbl_ShowAllComments);
                }
                else
                {
                    viewMoreComments.Visibility = ViewStates.Gone;
                }

                if (!commentCount.HasOnClickListeners)
                {
                    commentCount.Click += (sender, e) => ClickListeners.OnCommentPostClick(new CommentFeedClickEventArgs {
                        View = itemView, NewsFeedClass = item
                    }, "NewsFeedPost");
                }

                if (!likeCount.HasOnClickListeners)
                {
                    likeCount.Click += (sender, e) => ClickListeners.OnLikedPostClick(new LikeNewsFeedClickEventArgs {
                        View = itemView, NewsFeedClass = item, LikeButton = likeCount
                    });
                }

                if (!likeIcon.HasOnClickListeners)
                {
                    likeIcon.Click += (sender, e) => ClickListeners.OnLikeNewsFeedClick(new LikeNewsFeedClickEventArgs {
                        View = itemView, NewsFeedClass = item, LikeButton = likeIcon
                    });
                }

                if (!favIcon.HasOnClickListeners)
                {
                    favIcon.Click += (sender, e) => ClickListeners.OnFavNewsFeedClick(new FavNewsFeedClickEventArgs {
                        NewsFeedClass = item, FavButton = favIcon
                    });
                }

                if (!userAvatar.HasOnClickListeners)
                {
                    userAvatar.Click += (sender, e) => ClickListeners.OnAvatarImageFeedClick(new AvatarFeedClickEventArgs {
                        NewsFeedClass = item, Image = userAvatar, View = itemView
                    }, "NewsFeedPost");
                }

                if (!commentIcon.HasOnClickListeners)
                {
                    commentIcon.Click += (sender, e) => ClickListeners.OnCommentClick(new CommentFeedClickEventArgs {
                        NewsFeedClass = item, View = itemView
                    }, "NewsFeedPost");
                }

                if (!viewMoreComments.HasOnClickListeners)
                {
                    viewMoreComments.Click += (sender, e) => ClickListeners.OnCommentClick(new CommentFeedClickEventArgs {
                        NewsFeedClass = item, View = itemView
                    }, "NewsFeedPost");
                }

                if (!moreIcon.HasOnClickListeners)
                {
                    moreIcon.Click += (sender, e) => ClickListeners.OnMoreClick(new MoreFeedClickEventArgs {
                        NewsFeedClass = item, View = itemView, IsOwner = item.IsOwner
                    }, true, "NewsFeedPost");
                }

                if (!shareIcon.HasOnClickListeners)
                {
                    shareIcon.Click += (sender, e) => ClickListeners.OnShareClick(new ShareFeedClickEventArgs {
                        NewsFeedClass = item, View = itemView
                    });
                }
            }
            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 is CommentAdapterViewHolder holder)
                {
                    var item = CommentList[position];
                    if (item != null)
                    {
                        TextSanitizer changer = new TextSanitizer(holder.CommentText, ActivityContext);
                        changer.Load(Methods.FunString.DecodeString(item.Text));

                        holder.TimeTextView.Text = Methods.Time.TimeAgo(Convert.ToInt32(item.Time));

                        GlideImageLoader.LoadImage(ActivityContext, item.Avatar, holder.Image, ImageStyle.CircleCrop, ImagePlaceholders.Color);

                        if (item.Replies != 0)
                        {
                            holder.ReplyButton.Text = ActivityContext.GetString(Resource.String.Lbl_Reply) + " " + "(" + item.Replies + ")";
                        }
                        else
                        {
                            holder.ReplyButton.Text = ActivityContext.GetString(Resource.String.Lbl_Reply);
                        }

                        holder.LikeCount.Text = ActivityContext.GetString(Resource.String.Lbl_Likes) + " " + "(" + item.Likes + ")";

                        if (!holder.Image.HasOnClickListeners)
                        {
                            holder.Image.Click += (sender, e) => OnAvatarClick(new AvatarCommentAdapterClickEventArgs {
                                Class = item, Position = position, View = holder.MainView
                            });
                        }

                        holder.LikeIcon.SetImageResource(item.IsLiked ? Resource.Drawable.ic_action_like_2 : Resource.Drawable.ic_action_like_1);

                        if (!holder.LikeIcon.HasOnClickListeners)
                        {
                            MyBounceInterpolator interpolator = new MyBounceInterpolator(0.2, 20);

                            var animationScale = AnimationUtils.LoadAnimation(ActivityContext, Resource.Animation.scale);
                            animationScale.Interpolator = interpolator;
                            holder.LikeIcon.Click      += (sender, args) =>
                            {
                                try
                                {
                                    if (!Methods.CheckConnectivity())
                                    {
                                        Toast.MakeText(ActivityContext, ActivityContext.GetString(Resource.String.Lbl_CheckYourInternetConnection), ToastLength.Long).Show();
                                    }
                                    else
                                    {
                                        item.IsLiked = !item.IsLiked;
                                        holder.LikeIcon.SetImageResource(item.IsLiked? Resource.Drawable.ic_action_like_2: Resource.Drawable.ic_action_like_1);
                                        holder.LikeIcon.StartAnimation(animationScale);

                                        if (item.IsLiked)
                                        {
                                            Methods.AudioRecorderAndPlayer.PlayAudioFromAsset("reaction.mp3");

                                            int x = int.Parse(item.Likes) + 1;
                                            holder.LikeCount.Text = ActivityContext.GetString(Resource.String.Lbl_Likes) + " " + "(" + x.ToString() + ")";
                                        }
                                        else
                                        {
                                            int x = int.Parse(item.Likes);

                                            if (x > 0)
                                            {
                                                x--;
                                            }
                                            else
                                            {
                                                x = 0;
                                            }

                                            item.Likes = x.ToString();

                                            holder.LikeCount.Text = ActivityContext.GetString(Resource.String.Lbl_Likes) + " " + "(" + item.Likes + ")";
                                        }

                                        RequestsAsync.Post.LikeComment(item.Id.ToString()).ConfigureAwait(false);
                                    }
                                }
                                catch (Exception e)
                                {
                                    Console.WriteLine(e);
                                }
                            };
                        }

                        if (!holder.ReplyButton.HasOnClickListeners)
                        {
                            holder.ReplyButton.Click += (sender, args) => ClickListeners.CommentReplyPostClick(new CommentReplyClickEventArgs {
                                CommentObject = item, Position = position, View = holder.MainView
                            });
                        }
                    }

                    if (AppSettings.SetTabDarkTheme)
                    {
                        holder.LikeIcon.SetBackgroundResource(Resource.Drawable.Shape_Circle_Black);
                    }
                }
            }
            catch (Exception exception)
            {
                Console.WriteLine(exception);
            }
        }
Esempio n. 20
0
        // Replace the contents of a view (invoked by the layout manager)
        public override void OnBindViewHolder(RecyclerView.ViewHolder viewHolder, int position)
        {
            try
            {
                if (viewHolder is ReplyAdapterViewHolder holder)
                {
                    var item = ReplyList[position];
                    if (item != null)
                    {
                        TextSanitizer changer = new TextSanitizer(holder.CommentText, ActivityContext);
                        changer.Load(Methods.FunString.DecodeString(item.Text));

                        holder.TimeTextView.Text = Methods.Time.TimeAgo(Convert.ToInt32(item.Time));

                        GlideImageLoader.LoadImage(ActivityContext, item.UserData.Avatar, holder.Image, ImageStyle.CircleCrop, ImagePlaceholders.Color);

                        holder.ReplyButton.Text = ActivityContext.GetString(Resource.String.Lbl_Reply);

                        holder.LikeCount.Text = ActivityContext.GetString(Resource.String.Lbl_Likes) + " " + "(" + item.Likes + ")";

                        if (!holder.Image.HasOnClickListeners)
                        {
                            holder.Image.Click += (sender, e) => OnAvatarClick(new AvatarReplyAdapterClickEventArgs {
                                Class = item.UserData, Position = position, View = holder.MainView
                            });
                        }

                        holder.LikeIcon.SetImageResource(item.IsLiked == 1 ? Resource.Drawable.ic_action_like_2 : Resource.Drawable.ic_action_like_1);

                        if (!holder.LikeIcon.HasOnClickListeners)
                        {
                            MyBounceInterpolator interpolator = new MyBounceInterpolator(0.2, 20);

                            var animationScale = AnimationUtils.LoadAnimation(ActivityContext, Resource.Animation.scale);
                            animationScale.Interpolator = interpolator;
                            holder.LikeIcon.Click      += (sender, args) =>
                            {
                                try
                                {
                                    if (!Methods.CheckConnectivity())
                                    {
                                        Toast.MakeText(ActivityContext, ActivityContext.GetString(Resource.String.Lbl_CheckYourInternetConnection), ToastLength.Long).Show();
                                    }
                                    else
                                    {
                                        item.IsLiked = item.IsLiked == 0 ? 1 : 0;

                                        holder.LikeIcon.SetImageResource(item.IsLiked == 1 ? Resource.Drawable.ic_action_like_2 : Resource.Drawable.ic_action_like_1);
                                        holder.LikeIcon.StartAnimation(animationScale);

                                        if (item.IsLiked == 1)
                                        {
                                            Methods.AudioRecorderAndPlayer.PlayAudioFromAsset("reaction.mp3");

                                            item.Likes++;
                                            holder.LikeCount.Text = ActivityContext.GetString(Resource.String.Lbl_Likes) + " " + "(" + item.Likes + ")";
                                        }
                                        else
                                        {
                                            if (item.Likes > 0)
                                            {
                                                item.Likes--;
                                            }
                                            else
                                            {
                                                item.Likes = 0;
                                            }

                                            holder.LikeCount.Text = ActivityContext.GetString(Resource.String.Lbl_Likes) + " " + "(" + item.Likes + ")";
                                        }

                                        RequestsAsync.Post.LikeReply(item.Id.ToString()).ConfigureAwait(false);
                                    }
                                }
                                catch (Exception e)
                                {
                                    Console.WriteLine(e);
                                }
                            };
                        }

                        if (!holder.ReplyButton.HasOnClickListeners)
                        {
                            holder.ReplyButton.Click += (sender, args) =>
                            {
                                try
                                {
                                    //ActivityContext.TxtComment.Text = "";
                                    //ActivityContext.TxtComment.Text = "@" + item.Publisher.Username + " ";
                                }
                                catch (Exception e)
                                {
                                    Console.WriteLine(e);
                                }
                            }
                        }
                        ;
                    }
                }
            }
            catch (Exception exception)
            {
                Console.WriteLine(exception);
            }
        }
Esempio n. 21
0
        private void LoadUserData(UserDataObject cl, bool friends = true)
        {
            try
            {
                PPrivacy = cl.PPrivacy;

                GlideImageLoader.LoadImage(Activity, cl.Avatar, UserProfileImage, ImageStyle.RoundedCrop, ImagePlaceholders.Color);
                UserProfileImage.SetScaleType(ImageView.ScaleType.CenterCrop);

                TextSanitizerAutoLink.Load(AppTools.GetAboutFinal(cl));
                AboutLiner.Visibility = ViewStates.Visible;

                Username.Text = "@" + cl.Username;
                Fullname.Text = AppTools.GetNameFinal(cl);

                IconVerified.Visibility = cl.Verified == "1" ? ViewStates.Visible : ViewStates.Gone;

                IconBusiness.Visibility = cl.BusinessAccount == "1" ? ViewStates.Visible : ViewStates.Gone;

                Typeface font = Typeface.CreateFromAsset(Application.Context.Resources.Assets, "ionicons.ttf");

                TxtCountFav.Text       = Methods.FunString.FormatPriceValue(Int32.Parse(cl.PostsCount));
                TxtCountFollowers.Text = Methods.FunString.FormatPriceValue(Convert.ToInt32(cl.Followers));
                TxtCountFollowing.Text = Methods.FunString.FormatPriceValue(Convert.ToInt32(cl.Following));

                if (!string.IsNullOrEmpty(cl.Google))
                {
                    Google = cl.Google;
                    SocialGoogle.SetTypeface(font, TypefaceStyle.Normal);
                    SocialGoogle.Text       = IonIconsFonts.SocialGoogle;
                    SocialGoogle.Visibility = ViewStates.Visible;
                }

                if (!string.IsNullOrEmpty(cl.Facebook))
                {
                    Facebook = cl.Facebook;
                    SocialFacebook.SetTypeface(font, TypefaceStyle.Normal);
                    SocialFacebook.Text       = IonIconsFonts.SocialFacebook;
                    SocialFacebook.Visibility = ViewStates.Visible;
                }

                if (!string.IsNullOrEmpty(cl.Website))
                {
                    Website = cl.Website;
                    WebsiteButton.SetTypeface(font, TypefaceStyle.Normal);
                    WebsiteButton.Text       = IonIconsFonts.AndroidGlobe;
                    WebsiteButton.Visibility = ViewStates.Visible;
                }

                if (!string.IsNullOrEmpty(cl.Twitter))
                {
                    Twitter = cl.Twitter;
                    SocialTwitter.SetTypeface(font, TypefaceStyle.Normal);
                    SocialTwitter.Text       = IonIconsFonts.SocialTwitter;
                    SocialTwitter.Visibility = ViewStates.Visible;
                }

                if (cl.IsFollowing != null)
                {
                    SIsFollowing = cl.IsFollowing.Value;
                    if (!friends)
                    {
                        return;
                    }

                    if (cl.IsFollowing.Value) // My Friend
                    {
                        FollowButton.SetBackgroundResource(Resource.Drawable.Shape_Radius_Grey_Btn);
                        FollowButton.SetTextColor(Color.ParseColor("#000000"));
                        FollowButton.Text = Context.GetText(Resource.String.Lbl_Following);
                        FollowButton.Tag  = "true";
                    }
                    else
                    {
                        //Not Friend
                        FollowButton.SetBackgroundResource(Resource.Drawable.Shape_Radius_Gradient_Btn);
                        FollowButton.SetTextColor(Color.ParseColor("#ffffff"));
                        FollowButton.Text = Context.GetText(Resource.String.Lbl_Follow);
                        FollowButton.Tag  = "false";
                    }

                    MessageButton.Visibility = cl.CPrivacy == "1" || cl.CPrivacy == "2" && cl.IsFollowing.Value
                        ? ViewStates.Visible
                        : ViewStates.Invisible;
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }
Esempio n. 22
0
        private async Task LoadDataAsync()
        {
            if (Methods.CheckConnectivity())
            {
                var channel = await ApiRequest.GetChannelData(Activity, IdChannel);

                if (channel != null)
                {
                    TextSanitizer text = new TextSanitizer(TxtAboutChannel, Activity, GlobalContext);
                    text.Load(AppTools.GetAboutFinal(channel));

                    if (channel.Gender == "male" || channel.Gender == "Male")
                    {
                        TxtGender.Text = GetText(Resource.String.Radio_Male);
                    }
                    else
                    {
                        TxtGender.Text = GetText(Resource.String.Radio_Female);
                    }

                    TxtEmail.Text = channel.Email;

                    Facebook = channel.Facebook;
                    Google   = channel.Google;
                    Twitter  = channel.Twitter;

                    if (string.IsNullOrEmpty(channel.Facebook))
                    {
                        BtnFacebook.Enabled = false;
                        BtnFacebook.SetColor(Color.ParseColor("#8c8a8a"));
                    }
                    else
                    {
                        BtnFacebook.Enabled = true;
                    }

                    if (string.IsNullOrEmpty(channel.Twitter))
                    {
                        BtnTwitter.Enabled = false;
                        BtnTwitter.SetColor(Color.ParseColor("#8c8a8a"));
                    }
                    else
                    {
                        BtnTwitter.Enabled = true;
                    }

                    if (string.IsNullOrEmpty(channel.Google))
                    {
                        BtnGoogle.Enabled = false;
                        BtnGoogle.SetColor(Color.ParseColor("#8c8a8a"));
                    }
                    else
                    {
                        BtnGoogle.Enabled = true;
                    }

                    if (IdChannel == UserDetails.UserId)
                    {
                        var idCurrency = ListUtils.MySettingsList?.PaymentCurrency;
                        var(currency, currencyIcon) = AppTools.GetCurrency(idCurrency);
                        Console.WriteLine(currencyIcon);
                        TxtMonetization.Text = channel.Balance + " " + currency;
                    }
                }
            }
            else
            {
                Toast.MakeText(Context, Context.GetString(Resource.String.Lbl_CheckYourInternetConnection), ToastLength.Short).Show();
            }
        }
Esempio n. 23
0
        // 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);
            }
        }