//int lastrandom = 0;
            internal void SetItem(MediaItem item)
            {
                currentitem = item;
                //set size:


                var realmedia = BootleggerClient.GetMediaItem(item.id);

                try
                {
                    var mtopics = realmedia.Static_Meta[$"{((!WhiteLabelConfig.PUBLIC_TOPICS) ? BootleggerClient.CurrentUser?.id : "")}-{MetaDataFields.Topics}"].TrimStart(',').Split(',');
                    if (mtopics.Length > 0)
                    {
                        var index = BootleggerClient.CurrentEvent.topics.Find((t) => t.id == mtopics.First());
                        view.SetBackgroundColor(Color.ParseColor(index.color));
                    }
                    else
                    {
                        view.SetBackgroundColor(Color.Silver);
                    }
                }
                catch
                {
                    view.SetBackgroundColor(Color.Silver);
                }

                //view.SetBackgroundColor(GetColorForIndex(adpt.GetIndexForItem(currentitem)));

                view.LayoutParameters.Width = (int)(((((item.outpoint != TimeSpan.Zero)?item.outpoint : item.ClipLength) - item.inpoint).TotalMilliseconds / adpt.TotalMilis) * adpt.context.FindViewById <View>(Resource.Id.timeline).MeasuredWidth) - 2;
            }
Esempio n. 2
0
            private async void ViewHolder_Select(object sender, CheckedChangeEventArgs e)
            {
                if (adpt.media != null)
                {
                    try
                    {
                        var key = $"{((!WhiteLabelConfig.PUBLIC_TOPICS) ? BootleggerClient.CurrentUser?.id : "")}-{MetaDataFields.Topics}";
                        if (!adpt.media.Static_Meta.ContainsKey(key))
                        {
                            adpt.media.Static_Meta[key] = "";
                        }


                        var mt = adpt.media.Static_Meta[key].Split(',').ToList();
                        if (e.IsChecked)
                        {
                            mt.Add(currentitem.id);
                        }
                        else
                        {
                            mt.Remove(currentitem.id);
                        }

                        //remove blanks
                        mt.RemoveAll((n) => string.IsNullOrEmpty(n));
                        if (mt.Count > 0)
                        {
                            adpt.media.Static_Meta[$"{((!WhiteLabelConfig.PUBLIC_TOPICS) ? BootleggerClient.CurrentUser?.id : "")}-{MetaDataFields.Topics}"] = string.Join(",", mt);
                        }
                        else
                        {
                            adpt.media.Static_Meta.Remove($"{((!WhiteLabelConfig.PUBLIC_TOPICS) ? BootleggerClient.CurrentUser?.id : "")}-{MetaDataFields.Topics}");
                        }

                        BootleggerClient.SaveMedia(adpt.media);
                        await BootleggerClient.UpdateMeta(adpt.media);

                        if (e.IsChecked && !adpt._readonly)
                        {
                            view.FindViewById <ToggleButton>(Resource.Id.chip).SetCompoundDrawablesWithIntrinsicBounds(0, 0, Resource.Drawable.baseline_check_white_24, 0);
                        }
                        else
                        {
                            view.FindViewById <ToggleButton>(Resource.Id.chip).SetCompoundDrawablesWithIntrinsicBounds(0, 0, 0, 0);
                        }
                    }
                    catch (Exception ex)
                    {
                        //failed
                        LoginFuncs.ShowToast(Plugin.CurrentActivity.CrossCurrentActivity.Current.Activity, ex);
                        //Toast.MakeText(Plugin.CurrentActivity.CrossCurrentActivity.Current.Activity, Resource.String.noconnectionshort, ToastLength.Short).Show();
                    }
                }
                else
                {
                    if (e.IsChecked && !adpt._readonly)
                    {
                        view.FindViewById <ToggleButton>(Resource.Id.chip).SetCompoundDrawablesWithIntrinsicBounds(0, 0, Resource.Drawable.baseline_check_white_24, 0);
                    }
                    else
                    {
                        view.FindViewById <ToggleButton>(Resource.Id.chip).SetCompoundDrawablesWithIntrinsicBounds(0, 0, 0, 0);
                    }
                    adpt.FireFilterUpdate(currentitem);
                }
            }
            internal void SetItem(MediaItem item)
            {
                currentitem = item;


                view.FindViewById <View>(Resource.Id.touchstart).Visibility = ViewStates.Gone;

                if (item.Status != MediaItem.MediaStatus.PLACEHOLDER)
                {
                    view.FindViewById <TextView>(Resource.Id.outpoint).Text           = adpt.Countuptocurrent(AdapterPosition).ToString(@"mm\:ss");
                    view.FindViewById <TextView>(Resource.Id.outpoint).Visibility     = ViewStates.Visible;
                    view.FindViewById(Resource.Id.placeholderbuttons).Visibility      = ViewStates.Gone;
                    view.FindViewById <ImageButton>(Resource.Id.editbtn).Visibility   = ViewStates.Visible;
                    view.FindViewById <ImageButton>(Resource.Id.deletebtn).Visibility = ViewStates.Visible;

                    //get index of the label for the media:
                    var topics = BootleggerClient.CurrentEvent.topics.ToList();

                    if (string.IsNullOrEmpty(item.titletext))
                    {
                        view.FindViewById <ImageButton>(Resource.Id.editbtn).SetImageResource(Resource.Drawable.ic_video_library_black_24dp);
                    }
                    else
                    {
                        view.FindViewById <ImageButton>(Resource.Id.editbtn).SetImageResource(Resource.Drawable.baseline_text_fields_black_24);
                    }

                    var realmedia = BootleggerClient.GetMediaItem(item.id);
                    try
                    {
                        var mtopics = realmedia.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);
                    }

                    view.FindViewById <View>(Resource.Id.colorbar).Visibility = ViewStates.Visible;

                    //set playing flag:
                    if (adpt.currentplaying == currentitem)
                    {
                        view.FindViewById(Resource.Id.playindicator).Visibility = ViewStates.Visible;
                    }
                    else
                    {
                        view.FindViewById(Resource.Id.playindicator).Visibility = ViewStates.Invisible;
                    }

                    if (item.MediaType == Shot.ShotTypes.TITLE)
                    {
                        view.FindViewById <ImageView>(Resource.Id.image).Visibility = ViewStates.Gone;
                        view.FindViewById <TextView>(Resource.Id.title).Visibility  = ViewStates.Visible;
                        //view.FindViewById<TextView>(Resource.Id.image).Visibility = ViewStates.Gone;

                        view.FindViewById <TextView>(Resource.Id.title).Text = item.titletext;

                        view.FindViewById <ImageButton>(Resource.Id.trimbtn).Visibility = ViewStates.Gone;
                    }
                    else
                    {
                        Picasso.With(view.Context).
                        Load(currentitem.Thumb + "?s=" + WhiteLabelConfig.THUMBNAIL_SIZE).
                        Config(Bitmap.Config.Rgb565).
                        Fit().
                        CenterCrop().
                        Into(view.FindViewById <ImageView>(Resource.Id.image));
                        view.FindViewById <ImageView>(Resource.Id.image).SetScaleType(ImageView.ScaleType.CenterCrop);
                        view.FindViewById <ImageButton>(Resource.Id.editbtn).Visibility = ViewStates.Visible;
                        view.FindViewById <ImageButton>(Resource.Id.trimbtn).Visibility = ViewStates.Visible;
                        view.FindViewById <ImageView>(Resource.Id.image).Visibility     = ViewStates.Visible;
                        view.FindViewById <TextView>(Resource.Id.title).Visibility      = ViewStates.Gone;
                    }

                    if (adpt.trimmode)
                    {
                        if (adpt.currenttrim != currentitem)
                        {
                            view.Alpha = 0.2f;
                            view.FindViewById <ImageButton>(Resource.Id.editbtn).Visibility = ViewStates.Visible;
                        }
                        else
                        {
                            view.FindViewById <ImageButton>(Resource.Id.editbtn).Visibility = ViewStates.Invisible;
                            view.Alpha = 1f;
                        }
                    }
                    else
                    {
                        view.FindViewById <ImageButton>(Resource.Id.editbtn).Visibility = ViewStates.Visible;
                        view.Alpha = 1f;
                    }
                }
                else
                {
                    view.FindViewById <TextView>(Resource.Id.outpoint).Visibility = ViewStates.Invisible;
                    view.FindViewById <ImageView>(Resource.Id.image).SetImageDrawable(null);
                    view.FindViewById <ImageButton>(Resource.Id.editbtn).Visibility = ViewStates.Gone;
                    view.FindViewById <ImageButton>(Resource.Id.trimbtn).Visibility = ViewStates.Gone;
                    view.FindViewById(Resource.Id.placeholderbuttons).Visibility    = ViewStates.Visible;
                    view.FindViewById <TextView>(Resource.Id.title).Visibility      = ViewStates.Gone;
                    view.FindViewById(Resource.Id.image).Visibility                   = ViewStates.Gone;
                    view.FindViewById <View>(Resource.Id.colorbar).Visibility         = ViewStates.Gone;
                    view.FindViewById <ImageButton>(Resource.Id.deletebtn).Visibility = ViewStates.Gone;
                }
            }