Example #1
0
        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();
 }
Example #5
0
        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;
            }
        }
Example #6
0
        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();
        }