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