Example #1
0
            internal void SetItem(HeaderMediaItem item)
            {
                if (item.IsHeader)
                {
                    media = null;
                    view.FindViewById <TextView>(Resource.Id.header).Text = (item.HeaderText == BootleggerClient.CurrentUser.displayName)?view.Context.GetString(Resource.String.me): item.HeaderText;
                    if (view.FindViewById <TextView>(Resource.Id.subheader) != null)
                    {
                        view.FindViewById <TextView>(Resource.Id.subheader).Text = item.SubText;
                    }
                }
                else
                {
                    media = item.MediaItem;
                    Picasso.With(adpt.context).
                    Load(item.MediaItem.Thumb + "?s=" + WhiteLabelConfig.THUMBNAIL_SIZE).
                    Tag(adpt).
                    Config(Android.Graphics.Bitmap.Config.Rgb565).
                    Fit().
                    CenterCrop().
                    Into(view.FindViewById <ImageView>(Resource.Id.image));
                    if (chips != null)
                    {
                        chips.Update(null, item.MediaItem);
                        chips.NotifyDataSetChanged();
                    }

                    view.FindViewById <TextView>(Resource.Id.cliplength).Text = item.MediaItem.ClipLength.ToString(@"mm\:ss");

                    if (adpt.chooser_mode == ClipViewMode.EDITING)
                    {
                        try
                        {
                            //if (item.MediaItem.CreatedAt!=null)
                            //    view.FindViewById<TextView>(Resource.Id.title).Text = item.MediaItem.CreatedAt.ToString("hhtt ddd dd MMM yy");

                            view.FindViewById <TextView>(Resource.Id.title).Text = item.MediaItem.CreatedAt.LocalizeTimeDiff(); //("ha E d MMM yy");
                        }
                        catch
                        {
                            view.FindViewById <TextView>(Resource.Id.title).Text = item.MediaItem.Static_Meta["captured_at"].ToString();
                        }

                        view.FindViewById <TextView>(Resource.Id.date).Text = (item.MediaItem.created_by == Bootlegger.BootleggerClient.CurrentUser.id) ? view.Context.GetString(Resource.String.me) : item.MediaItem.Contributor;

                        view.FindViewById <TextView>(Resource.Id.date).Visibility         = ViewStates.Gone;
                        view.FindViewById <ImageButton>(Resource.Id.choosebtn).Visibility = ViewStates.Visible;

                        //if it is in the timeline:
                        if (adpt.IsInEdit(item.MediaItem))
                        {
                            view.FindViewById(Resource.Id.usedtick).Visibility = ViewStates.Visible;
                        }
                        else
                        {
                            view.FindViewById(Resource.Id.usedtick).Visibility = ViewStates.Gone;
                        }



                        try
                        {
                            var mtopics = item.MediaItem.Static_Meta[$"{((!WhiteLabelConfig.PUBLIC_TOPICS) ? BootleggerClient.CurrentUser?.id : "")}-{MetaDataFields.Topics}"].TrimStart(',').Split(',');
                            if (mtopics.Length > 0)
                            {
                                //var index = topics.IndexOf(mtopics.First());
                                //var index = Array.IndexOf(BootleggerClient.CurrentEvent.topics.Split(','), mtopics.First());
                                //view.FindViewById<View>(Resource.Id.colorbar).SetBackgroundColor(SliverEditAdapter.GetColorForIndex(view.Context,index));


                                var index = BootleggerClient.CurrentEvent.topics.Find((t) => t.id == mtopics.First());
                                view.FindViewById <View>(Resource.Id.colorbar).SetBackgroundColor(Color.ParseColor(index.color));
                            }
                            else
                            {
                                view.FindViewById <View>(Resource.Id.colorbar).SetBackgroundColor(Color.Silver);
                            }
                        }
                        catch
                        {
                            view.FindViewById <View>(Resource.Id.colorbar).SetBackgroundColor(Color.Silver);
                        }
                    }

                    //show chips:
                }
            }
Example #2
0
            internal void SetItem(HeaderMediaItem item)
            {
                if (item.ViewType == TileType.SYNC)
                {
                    media = null;
                    view.FindViewById <TextView>(Resource.Id.subtitle).Text = view.Context.GetString(Resource.String.updatingvideos);

                    if (adpt.CurrentStatus != null)
                    {
                        Adpt_OnSyncStatusChanged(adpt.CurrentStatus.Item1, adpt.CurrentStatus.Item2);
                    }
                    else
                    {
                        Adpt_OnSyncStatusChanged(SyncStatus.OK, 0);
                    }


                    //if there is media waiting for upload:
                    if (Bootlegger.BootleggerClient.MyMediaEditing.Count == 0 && Bootlegger.BootleggerClient.UploadQueueEditing.Count == 0)
                    {
                        //show message
                        view.FindViewById <View>(Resource.Id.emptytext).Visibility = ViewStates.Visible;
                    }
                    else
                    {
                        view.FindViewById <View>(Resource.Id.emptytext).Visibility = ViewStates.Gone;
                    }
                }
                else if (item.ViewType == TileType.UPLOADER)
                {
                    media = null;


                    if (Bootlegger.BootleggerClient.CanUpload)
                    {
                        view.FindViewById <Button>(Resource.Id.uploadbtn).Text = view.Resources.GetString(Resource.String.pause);
                    }
                    else
                    {
                        view.FindViewById <Button>(Resource.Id.uploadbtn).Text = view.Resources.GetString(Resource.String.upload);
                    }

                    view.FindViewById <TextView>(Resource.Id.subheader).Text = view.Context.GetString(Resource.String.waitingtoupload, Bootlegger.BootleggerClient.UploadQueueEditing.Count);
                }
                else
                {
                    media = item;

                    if (media.MediaItem.Static_Meta.ContainsKey("captured_at"))
                    {
                        //DateTime thedate;
                        try
                        {
                            //21 / 01 / 2016 20:31:18.41 pm + 00
                            view.FindViewById <TextView>(Resource.Id.uploadsubtitle).Text = item.MediaItem.CreatedAt.LocalizeTimeDiff();
                        }
                        catch
                        {
                            view.FindViewById <TextView>(Resource.Id.uploadsubtitle).Text = media.MediaItem.Static_Meta["captured_at"];
                        }
                    }
                    else
                    {
                        try
                        {
                            view.FindViewById <TextView>(Resource.Id.uploadsubtitle).Text = media.MediaItem.Static_Meta["captured_at"];
                        }
                        catch
                        {
                            view.FindViewById <TextView>(Resource.Id.uploadsubtitle).Text = "?";
                        }
                    }

                    view.FindViewById <ImageView>(Resource.Id.pendingimg).Visibility = ViewStates.Gone;

                    switch (media.MediaItem.MediaType)
                    {
                    case Shot.ShotTypes.VIDEO:
                        view.FindViewById <ImageView>(Resource.Id.mediatype).SetImageDrawable(null);
                        break;

                    case Shot.ShotTypes.PHOTO:
                        view.FindViewById <ImageView>(Resource.Id.mediatype).SetImageResource(Resource.Drawable.ic_photo_camera_white_24dp);

                        break;

                    case Shot.ShotTypes.AUDIO:
                        view.FindViewById <ImageView>(Resource.Id.mediatype).SetImageResource(Resource.Drawable.ic_mic_white_48dp);
                        break;
                    }

                    switch (media.MediaItem.MediaType)
                    {
                    case Shot.ShotTypes.VIDEO:
                    case Shot.ShotTypes.PHOTO:
                        if (media.MediaItem.Thumb != null && !media.MediaItem.Thumb.Contains("http"))
                        {
                            Picasso.With(view.Context).Load("file://" + media.MediaItem.Thumb).
                            Tag(adpt).
                            MemoryPolicy(MemoryPolicy.NoCache).
                            Fit().
                            NoFade().
                            //NoPlaceholder().
                            Config(Bitmap.Config.Rgb565).
                            CenterCrop().
                            Into(view.FindViewById <ImageView>(Resource.Id.image));
                        }
                        else
                        {
                            Picasso.With(view.Context).Load(media.MediaItem.Thumb).
                            Fit().
                            //NoPlaceholder().
                            Tag(adpt).
                            NoFade().
                            Config(Bitmap.Config.Rgb565).
                            MemoryPolicy(MemoryPolicy.NoCache).
                            CenterCrop().
                            Into(view.FindViewById <ImageView>(Resource.Id.image));
                        }
                        break;

                    case Shot.ShotTypes.AUDIO:
                        Picasso.With(view.Context).Load(Resource.Drawable.ic_audiotrack_black_48dp).
                        Tag(adpt).
                        Config(Bitmap.Config.Rgb565).
                        MemoryPolicy(MemoryPolicy.NoCache).
                        Into(view.FindViewById <ImageView>(Resource.Id.image));
                        break;
                    }
                    //}

                    var col = new Color(ContextCompat.GetColor(view.Context, Resource.Color.blue));
                    view.FindViewById <RadialProgress.CleanRadialProgressView>(Resource.Id.uploadprogress).ProgressColor = col;


                    UpdateProgress();

                    media.MediaItem.OnChanged += (sender) =>
                    {
                        view.Post(UpdateProgress);
                    };
                }
            }