private void DataTemplateFull(View view, int i, UserFeedEntryModel userFeedEntryModel) { var img = view.FindViewById <ImageViewAsync>(Resource.Id.FriendsFeedsPageItemImage); string imgUrl = null; if (AnimeImageQuery.IsCached(userFeedEntryModel.Id, true, ref imgUrl)) { img.Into(imgUrl); } else { img.IntoWithTask(AnimeImageQuery.GetImageUrl(userFeedEntryModel.Id, true)); } view.FindViewById(Resource.Id.FriendsFeedsPageItemUserImageButton).Tag = userFeedEntryModel.User.Wrap(); var accImg = view.FindViewById <ImageViewAsync>(Resource.Id.FriendsFeedsPageItemUserImage); if (img.Tag == null || (string)img.Tag != userFeedEntryModel.User.ImgUrl) { accImg.Into(userFeedEntryModel.User.ImgUrl, new CircleTransformation()); } }
private void DataTemplateFull(View view, UserFeedEntryModel userFeedEntryModel) { var img = view.FindViewById <ImageViewAsync>(Resource.Id.FriendsFeedsPageItemImage); if (img.Tag == null || (string)img.Tag != $"{userFeedEntryModel.Date.Ticks}{userFeedEntryModel.User.Name}") { img.Tag = $"{userFeedEntryModel.Date.Ticks}{userFeedEntryModel.User.Name}"; string imgUrl = null; if (AnimeImageQuery.IsCached(userFeedEntryModel.Id, true, ref imgUrl)) { img.Into(imgUrl); } else { img.IntoWithTask(AnimeImageQuery.GetImageUrl(userFeedEntryModel.Id, true)); } view.FindViewById <ImageViewAsync>(Resource.Id.FriendsFeedsPageItemUserImage).Into(userFeedEntryModel.User.ImgUrl, new CircleTransformation()); view.FindViewById(Resource.Id.FriendsFeedsPageItemUserImageButton).Tag = userFeedEntryModel.User.Wrap(); view.FindViewById(Resource.Id.FriendsFeedsPageItemUserImageButton).Visibility = ViewStates.Visible; view.FindViewById(Resource.Id.FriendsFeedsPageItemImgPlaceholder).Visibility = ViewStates.Gone; view.FindViewById <TextView>(Resource.Id.FriendsFeedsPageItemUserName).Text = userFeedEntryModel.User.Name; view.FindViewById <TextView>(Resource.Id.FriendsFeedsPageItemTitle).Text = userFeedEntryModel.Title; view.FindViewById <TextView>(Resource.Id.FriendsFeedsPageItemContent).Text = userFeedEntryModel.Description; view.FindViewById <TextView>(Resource.Id.FriendsFeedsPageItemDate).Text = userFeedEntryModel.Date.ToDiffString(); } }
private async Task <List <UserFeedEntryModel> > GetUserFeed(MalUser user) { try { var resp = await new FeedQuery(user.Name).GetRequestResponse(); var output = new List <UserFeedEntryModel>(); var xmlDoc = XElement.Parse(resp); var nodes = xmlDoc.Element("channel").Elements("item").Take(Settings.FeedsMaxEntries); foreach (var node in nodes) { var current = new UserFeedEntryModel(); current.Date = DateTime.Parse(node.Element("pubDate").Value); if (DateTime.UtcNow.Subtract(current.Date).TotalDays > Settings.FeedsMaxEntryAge) { continue; } current.User = user; current.Header = node.Element("title").Value; current.Link = node.Element("link").Value; current.Description = node.Element("description").Value; var linkParts = current.Link.Substring(10).Split('/'); current.Id = int.Parse(linkParts[2]); var pos = current.Header.LastIndexOf('-'); current.Title = current.Header.Substring(0, pos).Trim(); output.Add(current); } return(output); } catch (Exception) { return(null); } }
private void DataTemplateFling(View view, UserFeedEntryModel userFeedEntryModel) { view.FindViewById(Resource.Id.FriendsFeedsPageItemImage).Visibility = ViewStates.Invisible; view.FindViewById(Resource.Id.FriendsFeedsPageItemUserImageButton).Visibility = ViewStates.Invisible; view.FindViewById(Resource.Id.FriendsFeedsPageItemImgPlaceholder).Visibility = ViewStates.Visible; view.FindViewById <TextView>(Resource.Id.FriendsFeedsPageItemUserName).Text = userFeedEntryModel.User.Name; view.FindViewById <TextView>(Resource.Id.FriendsFeedsPageItemTitle).Text = userFeedEntryModel.Title; view.FindViewById <TextView>(Resource.Id.FriendsFeedsPageItemContent).Text = userFeedEntryModel.Description; view.FindViewById <TextView>(Resource.Id.FriendsFeedsPageItemDate).Text = userFeedEntryModel.Date.ToDiffString(); }
private void DataTemplateFling(View view, int i, UserFeedEntryModel userFeedEntryModel) { var img = view.FindViewById <ImageViewAsync>(Resource.Id.FriendsFeedsPageItemImage); var accImg = view.FindViewById <ImageViewAsync>(Resource.Id.FriendsFeedsPageItemUserImage); string link = null; if (AnimeImageQuery.IsCached(userFeedEntryModel.Id, true, ref link)) { img.Visibility = img.IntoIfLoaded(link) ? ViewStates.Visible : ViewStates.Gone; } else { img.Visibility = ViewStates.Gone; } if (!accImg.IntoIfLoaded(userFeedEntryModel.User.ImgUrl, new CircleTransformation())) { accImg.Visibility = ViewStates.Gone; } }
private void DataTemplateBasic(View view, int i, UserFeedEntryModel userFeedEntryModel) { var date = view.FindViewById <TextView>(Resource.Id.FriendsFeedsPageItemDate); if (Settings.MakeGridItemsSmaller && date.Tag == null) { view.LayoutParameters = new AbsListView.LayoutParams(-1, DimensionsHelper.DpToPx(233)); var usrImg = view.FindViewById(Resource.Id.FriendsFeedsPageItemUserImageButton); usrImg.LayoutParameters.Height = usrImg.LayoutParameters.Width = DimensionsHelper.DpToPx(50); usrImg.RequestLayout(); view.FindViewById <ImageViewAsync>(Resource.Id.FriendsFeedsPageItemImage).SetScaleType(ImageView.ScaleType.CenterCrop); view.FindViewById <TextView>(Resource.Id.FriendsFeedsPageItemUserName).SetTextSize(ComplexUnitType.Sp, 13); view.FindViewById <TextView>(Resource.Id.FriendsFeedsPageItemTitle).SetTextSize(ComplexUnitType.Sp, 14); view.FindViewById <TextView>(Resource.Id.FriendsFeedsPageItemContent).SetTextSize(ComplexUnitType.Sp, 13); view.FindViewById <TextView>(Resource.Id.FriendsFeedsPageItemDate).SetTextSize(ComplexUnitType.Sp, 12); date.Tag = true; } view.FindViewById <TextView>(Resource.Id.FriendsFeedsPageItemUserName).Text = userFeedEntryModel.User.Name; view.FindViewById <TextView>(Resource.Id.FriendsFeedsPageItemTitle).Text = userFeedEntryModel.Title; view.FindViewById <TextView>(Resource.Id.FriendsFeedsPageItemContent).Text = userFeedEntryModel.Description; date.Text = userFeedEntryModel.Date.ToDiffString(); }