Ejemplo n.º 1
0
        public AniListNotificationViewModel(AniListNotification model, BaseAniDroidActivity context, Color accentColor) : base(model)
        {
            _context = context;

            FormattedTitle = BaseAniDroidActivity.FromHtml(Model.GetNotificationHtml($"#{accentColor & 0xffffff:X6}"));
            Timestamp      = Model.GetAgeString(model.CreatedAt);
            ImageUri       = Model.GetImageUri();
            ClickAction    = GetNotificationClickAction();
        }
Ejemplo n.º 2
0
        public static ISpanned ConvertToSpanned(string text)
        {
            var pipeline = new MarkdownPipelineBuilder().UseEmphasisExtras().UseEmojiAndSmiley().UseListExtras().Build();

            var cleanedText = FormatMarkdownText(text);
            var parsedText  = Markdig.Markdown.ToHtml(cleanedText, pipeline);

            return(BaseAniDroidActivity.FromHtml(parsedText));
        }
Ejemplo n.º 3
0
        private void BindListActivityViewHolder(AniListActivityViewHolder viewHolder, AniListActivity item)
        {
            viewHolder.Title.TextFormatted              = BaseAniDroidActivity.FromHtml($"<b><font color='{_userNameColorHex}'>{item.User?.Name}</font></b> {item.Status} {(!string.IsNullOrWhiteSpace(item.Progress) ? $"{item.Progress} of" : "")} <b><font color='{_actionColorHex}'>{item.Media?.Title?.UserPreferred}</font></b>");
            viewHolder.ContentText.Visibility           = ViewStates.Gone;
            viewHolder.ContentImageContainer.Visibility = ViewStates.Visible;
            viewHolder.ContentImageContainer.RemoveAllViews();

            ImageLoader.LoadImage(viewHolder.Image, item.Media?.CoverImage?.Large);
        }
Ejemplo n.º 4
0
        private void BindMessageActivityViewHolder(AniListActivityViewHolder viewHolder, AniListActivity item)
        {
            viewHolder.Title.TextFormatted = BaseAniDroidActivity.FromHtml($"<b><font color='{_userNameColorHex}'>{item.Messenger?.Name}</font></b>");
            viewHolder.ContentImageContainer.Visibility = ViewStates.Gone;

            var builder = new SpannableStringBuilder(MarkdownTextCleaner.ConvertToSpanned(item.Message));

            //viewHolder.ContentText.MovementMethod = LinkMovementMethod.Instance;
            viewHolder.ContentText.SetText(builder, TextView.BufferType.Spannable);
            MarkdownSpannableFormatter.FormatMarkdownSpannable(Context, viewHolder.ContentText.TextFormatted as SpannableString);
            viewHolder.ContentText.Visibility = ViewStates.Visible;

            ImageLoader.LoadImage(viewHolder.Image, item.Messenger?.Avatar?.Large);
        }
Ejemplo n.º 5
0
        private void SetupViewModel()
        {
            TitleText       = Model.User?.Name;
            DetailFormatted = BaseAniDroidActivity.FromHtml(Model.Text);
            TimestampText   = Model.GetAgeString(Model.CreatedAt);
            LikeCount       = (Model.Likes?.Count ?? 0).ToString();
            ImageUri        = Model.User.Avatar.Large ?? Model.User.Avatar.Medium;

            if (_userId.HasValue)
            {
                LikeIconColor = ColorStateList.ValueOf(
                    Model.Likes?.Any(x => x.Id == _userId) == true
                        ? Color.Crimson
                        : _defaultIconColor);
            }
        }