예제 #1
0
        public void SetData(GlobalSearchItem item, UINavigationController navigationController)
        {
            this.navigationController = navigationController;
            model = item;
            if (IsNew)
            {
                btnFollow.TouchUpInside += (sender, e) =>
                {
                    Shared.Follower.ToggleFollow(btnFollow, model, model.Id, model.Type);
                };
                imgProfile.UserInteractionEnabled = true;
                imgProfile.AddGestureRecognizer(new UITapGestureRecognizer((obj) => GoToProfile()));
                lblTitle.UserInteractionEnabled = true;
                lblTitle.AddGestureRecognizer(new UITapGestureRecognizer((obj) => GoToProfile()));
                IsNew = false;
            }
            lblTitle.Text      = item.Title;
            lblSubtitle.Text   = item.Subtitle;
            lblSubtitle.Hidden = string.IsNullOrEmpty(item.Subtitle);
            lblFollowers.Text  = LargeValueHelper.GetString(item.Followers) + " followers";
            Views.SetFollowed(btnFollow, item.IsFollowing);

            imageTask?.Cancel(item.ProfileUrl);
            if (!string.IsNullOrEmpty(item.ProfileUrl))
            {
                imageTask = new ImageLoaderHelper(item.ProfileUrl, imgProfile, "DefaultProfile", null, new CircleTransformation());
            }
        }
 int GetType(GlobalSearchItem item, int position)
 {
     if (string.IsNullOrEmpty(item.Id))
     {
         return(0);
     }
     else
     {
         return(1);
     }
 }
예제 #3
0
 public void SetData(GlobalSearchItem item)
 {
     if (!string.IsNullOrEmpty(item.Title))
     {
         lblTitle.Text = item.Title;
     }
     else
     {
         var str = string.Concat(item.Type.ToString().Select(x => Char.IsUpper(x) ? " " + x : x.ToString())).TrimStart(' ');                 // Add spaces
         lblTitle.Text = str + "s";
     }
 }
 public UITableViewCell GetCell(UITableView tableView, NSIndexPath indexPath, GlobalSearchItem item)
 {
     if (GetType(item) == 0)
     {
         var cell = tableView.DequeueReusableCell("SearchHeaderCell", indexPath) as SearchHeaderCell;
         cell.SetData(item);
         cell.SelectionStyle = UITableViewCellSelectionStyle.None;
         return(cell);
     }
     else
     {
         var cell = tableView.DequeueReusableCell("SearchCell", indexPath) as SearchCell;
         cell.SetData(item, NavigationController);
         cell.SelectionStyle = UITableViewCellSelectionStyle.None;
         return(cell);
     }
 }
 void GoToProfile(GlobalSearchItem item)
 {
     if (item.Type == FeedType.Team)
     {
         Navigator.GoToTeamProflie(item.Id);
     }
     if (item.Type == FeedType.School)
     {
         Navigator.GoToSchoolProflie(item.Id);
     }
     if (item.Type == FeedType.Sport)
     {
         Navigator.GoToSportProflie(item.Id);
     }
     if (item.Type == FeedType.ContentSource)
     {
         Navigator.GoToContentSource(item.Id);
     }
     if (item.Type == FeedType.User)
     {
         Navigator.GoToUserProflie(item.Id);
     }
 }
        View GetView(GlobalSearchItem item, int position, View convertView, ViewGroup parent)
        {
            View view = convertView;

            if (view == null)
            {
                if (GetType(item, position) == 0)
                {
                    view = LayoutInflater.Inflate(Resource.Layout.SearchHeaderItem, null);
                }
                else
                {
                    view = LayoutInflater.Inflate(Resource.Layout.SearchItem, null);
                    view.FindViewById <Button>(Resource.Id.btnFollow).Click += (sender, args) =>
                    {
                        var model = adapter.Items[(int)view.Tag];
                        Fanword.Android.Shared.Follower.FollowToggle(this, sender as Button, model, model.Id, model.Type);
                    };

                    view.FindViewById <TextView>(Resource.Id.lblTitle).Click += (sender, args) =>
                    {
                        var model = adapter.Items[(int)view.Tag];
                        GoToProfile(model);
                    };

                    view.FindViewById <ImageViewAsync>(Resource.Id.imgProfile).Click += (sender, args) =>
                    {
                        var model = adapter.Items[(int)view.Tag];
                        GoToProfile(model);
                    };
                }
            }
            view.Tag = position;

            if (GetType(item, position) == 0)
            {
                if (!string.IsNullOrEmpty(item.Title))
                {
                    view.FindViewById <TextView>(Resource.Id.lblTitle).Text = item.Title;
                }
                else
                {
                    var str = string.Concat(item.Type.ToString().Select(x => Char.IsUpper(x) ? " " + x : x.ToString())).TrimStart(' '); // Add spaces
                    view.FindViewById <TextView>(Resource.Id.lblTitle).Text = str + "s";
                }
            }
            else
            {
                view.FindViewById <TextView>(Resource.Id.lblTitle).Text          = item.Title;
                view.FindViewById <TextView>(Resource.Id.lblSubtitle).Text       = item.Subtitle;
                view.FindViewById <TextView>(Resource.Id.lblSubtitle).Visibility = string.IsNullOrEmpty(item.Subtitle) ? ViewStates.Gone : ViewStates.Visible;
                view.FindViewById <TextView>(Resource.Id.lblFollowers).Text      = LargeValueHelper.GetString(item.Followers) + " followers";
                var profileImageView = view.FindViewById <ImageViewAsync>(Resource.Id.imgProfile);
                Picasso.With(this).Load(item.ProfileUrl).Resize(100, 100).CenterCrop().OnlyScaleDown().Placeholder(Resource.Drawable.DefProfPic).Transform(new PiccasoCircleTransformation()).Into(profileImageView);

                /*
                 *
                 * profileImageView.Tag?.CancelPendingTask(item.ProfileUrl);
                 * var task = ImageService.Instance.LoadUrl(item.ProfileUrl)
                 *  .Retry(3, 300)
                 *  .LoadingPlaceholder(Resource.Drawable.DefProfPic.ToString(), ImageSource.CompiledResource)
                 *  .DownSample(100)
                 *  .Transform(new CircleTransformation())
                 *  .Into(profileImageView);
                 *
                 * profileImageView.Tag = new ImageLoaderHelper(task);*/

                Views.SetFollowed(view.FindViewById <Button>(Resource.Id.btnFollow), item.IsFollowing);
            }

            return(view);
        }