コード例 #1
0
        void UpdateBookmarks()
        {
            try {
                int height = 150;
                Bookmarks.HeightRequest = height;
                List <string> keys = App.GetKeys <string>(App.BOOKMARK_DATA);
                List <string> data = new List <string>();
                bookmarkPosters = new List <BookmarkPoster>();
                Bookmarks.Children.Clear();
                int  index   = 0;
                bool allDone = false;
                for (int i = 0; i < keys.Count; i++)
                {
                    string __key = App.ConvertToObject <string>(keys[i], "");
                    if (__key == "")
                    {
                        continue;
                    }
                    string name      = FindHTML(__key, "Name=", "|||");
                    string posterUrl = FindHTML(__key, "PosterUrl=", "|||");
                    posterUrl = ConvertIMDbImagesToHD(posterUrl, 182, 268);

                    string id = FindHTML(__key, "Id=", "|||");
                    if (name != "" && posterUrl != "" && id != "")
                    {
                        if (CheckIfURLIsValid(posterUrl))
                        {
                            string posterURL = ConvertIMDbImagesToHD(posterUrl, 76, 113, 1.75); //.Replace(",76,113_AL", "," + pwidth + "," + pheight + "_AL").Replace("UY113", "UY" + pheight).Replace("UX76", "UX" + pwidth);
                            if (CheckIfURLIsValid(posterURL))
                            {
                                Grid stackLayout = new Grid()
                                {
                                    VerticalOptions = LayoutOptions.Start
                                };
                                Button imageButton = new Button()
                                {
                                    HeightRequest = RecPosterHeight, WidthRequest = RecPosterWith, BackgroundColor = Color.Transparent, VerticalOptions = LayoutOptions.Start
                                };
                                var ff = new FFImageLoading.Forms.CachedImage {
                                    Source          = posterURL,
                                    HeightRequest   = RecPosterHeight,
                                    WidthRequest    = RecPosterWith,
                                    BackgroundColor = Color.Transparent,
                                    VerticalOptions = LayoutOptions.Start,
                                    Transformations =
                                    {
                                        //  new FFImageLoading.Transformations.RoundedTransformation(10,1,1.5,10,"#303F9F")
                                        new FFImageLoading.Transformations.RoundedTransformation(10, 1, 1.5, 0, "#303F9F")
                                    },
                                    InputTransparent = true,
                                };

                                // ================================================================ RECOMMENDATIONS CLICKED ================================================================
                                // stackLayout.SetValue(XamEffects.BorderView.CornerRadiusProperty, 20);

                                var brView = new BorderView()
                                {
                                    VerticalOptions = LayoutOptions.Fill, HorizontalOptions = LayoutOptions.Fill, CornerRadius = 5
                                };

                                brView.SetValue(XamEffects.TouchEffect.ColorProperty, Color.White);
                                Commands.SetTap(brView, new Command((o) => {
                                    var z = (BookmarkPoster)o;
                                    PushPageFromUrlAndName(z.id, z.name);
                                }));
                                var _b = new BookmarkPoster()
                                {
                                    id = id, name = name, posterUrl = posterUrl
                                };
                                Commands.SetTapParameter(brView, _b);


                                bookmarkPosters.Add(_b);

                                // var _color = Settings.BlackColor + 5;

                                BoxView boxView = new BoxView()
                                {
                                    BackgroundColor  = Settings.ItemBackGroundColor,// Color.FromRgb(_color, _color, _color),
                                    InputTransparent = true,
                                    CornerRadius     = 10,
                                    HeightRequest    = RecPosterHeight + bookmarkLabelTransY,
                                    TranslationY     = 0,
                                    WidthRequest     = RecPosterWith,
                                };
                                stackLayout.Children.Add(boxView);
                                stackLayout.Children.Add(ff);
                                stackLayout.Children.Add(imageButton);
                                stackLayout.Children.Add(new Label()
                                {
                                    Text = name, VerticalOptions = LayoutOptions.Start, VerticalTextAlignment = TextAlignment.Center, HorizontalTextAlignment = TextAlignment.Center, HorizontalOptions = LayoutOptions.Center, Padding = 1, TextColor = Color.White, MaxLines = 2, ClassId = "OUTLINE", TranslationY = RecPosterHeight
                                });
                                stackLayout.Children.Add(brView);
                                stackLayout.Opacity = 0;

                                async void WaitUntillComplete()
                                {
                                    stackLayout.Opacity = 0;
                                    while (!allDone)
                                    {
                                        await Task.Delay(50);
                                    }
                                    await stackLayout.FadeTo(1, (uint)(200 + index * 50), Easing.Linear);
                                }

                                WaitUntillComplete();

                                index++;
                                Bookmarks.Children.Add(stackLayout);

                                /*
                                 * Grid stackLayout = new Grid();
                                 *
                                 *
                                 * var ff = new FFImageLoading.Forms.CachedImage {
                                 *  Source = posterUrl,
                                 *  HeightRequest = height,
                                 *  WidthRequest = 87,
                                 *  BackgroundColor = Color.Transparent,
                                 *  VerticalOptions = LayoutOptions.Start,
                                 *  Transformations = {
                                 *  new FFImageLoading.Transformations.RoundedTransformation(1,1,1.5,0,"#303F9F")
                                 * },
                                 *  InputTransparent = true,
                                 * };
                                 *
                                 * //Source = p.posterUrl
                                 *
                                 * stackLayout.Children.Add(ff);
                                 * // stackLayout.Children.Add(imageButton);
                                 * bookmarkPosters.Add(new BookmarkPoster() { id = id, name = name, posterUrl = posterUrl });
                                 * Grid.SetColumn(stackLayout, Bookmarks.Children.Count);
                                 * Bookmarks.Children.Add(stackLayout);
                                 *
                                 * // --- RECOMMENDATIONS CLICKED -----
                                 * stackLayout.SetValue(XamEffects.TouchEffect.ColorProperty, Color.White);
                                 * Commands.SetTap(stackLayout, new Command((o) => {
                                 *  int z = (int)o;
                                 *  PushPageFromUrlAndName(bookmarkPosters[z].id, bookmarkPosters[z].name);
                                 * }));
                                 * Commands.SetTapParameter(stackLayout, i);*/
                            }
                        }
                        // data.Add(App.GetKey("BookmarkData"))
                    }
                    //await Task.Delay(100);

                    //MScroll.HeightRequest = keys.Count > 0 ? 130 : 0;
                }
                allDone      = true;
                hasBookmarks = bookmarkPosters.Count > 0;

                UpdateNoBookmarks();

                /*if (ImdbTypePicker.SelectedIndex == -1) {
                 *  ImdbTypePicker.SelectedIndex = bookmarkPosters.Count > 0 ? 0 : 2; // SET TO POPULAR BY DEAFULT
                 * }*/
                SetRecs();
            }
            catch (Exception _ex) {
                error(_ex);
            }
            ChangeSizeOfTabs();
        }
コード例 #2
0
        void UpdateBookmarks()
        {
            try {
                int height = 150;
                Bookmarks.HeightRequest = height;
                string[]      keys = App.GetKeys <string>(App.BOOKMARK_DATA);
                List <string> data = new List <string>();
                bookmarkPosters = new List <BookmarkPoster>();
                Bookmarks.Children.Clear();
                updateLabels.Clear();
                IsBookmarked.Clear();

                int  index   = 0;
                bool allDone = false;
                for (int i = 0; i < keys.Length; i++)
                {
                    string __key = keys[i];
                    if (__key == "")
                    {
                        continue;
                    }
                    string name      = FindHTML(__key, "Name=", "|||");
                    string posterUrl = FindHTML(__key, "PosterUrl=", "|||");
                    posterUrl = ConvertIMDbImagesToHD(posterUrl, 182, 268);

                    string id = FindHTML(__key, "Id=", "|||");
                    if (name != "" && posterUrl != "" && id != "")
                    {
                        if (CheckIfURLIsValid(posterUrl))
                        {
                            IsBookmarked.Add(id, true);
                            string posterURL = ConvertIMDbImagesToHD(posterUrl, 76, 113, 1.75);
                            if (CheckIfURLIsValid(posterURL))
                            {
                                Grid stackLayout = new Grid()
                                {
                                    VerticalOptions = LayoutOptions.Start,
                                };

                                stackLayout.Effects.Add(Effect.Resolve("CloudStreamForms.LongPressedEffect"));
                                var _b = new BookmarkPoster()
                                {
                                    id = id, name = name, posterUrl = posterUrl
                                };
                                bookmarkPosters.Add(_b);

                                LongPressedEffect.SetCommand(stackLayout, new Command(() => {
                                    PushPageFromUrlAndName(_b.id, _b.name);
                                }));
                                var ff = new FFImageLoading.Forms.CachedImage {
                                    Source           = posterURL,
                                    HeightRequest    = RecPosterHeight,
                                    WidthRequest     = RecPosterWith,
                                    BackgroundColor  = Color.Transparent,
                                    VerticalOptions  = LayoutOptions.Start,
                                    InputTransparent = true,
                                    Transformations  =
                                    {
                                        //  new FFImageLoading.Transformations.RoundedTransformation(10,1,1.5,10,"#303F9F")
                                        new FFImageLoading.Transformations.RoundedTransformation(10, 1, 1.5, 0, "#303F9F")
                                    },
                                    //	InputTransparent = true,
                                };

                                // ================================================================ RECOMMENDATIONS CLICKED ================================================================
                                //stackLayout.SetValue(XamEffects.BorderView.CornerRadiusProperty, 20);

                                /*
                                 * var brView = new BorderView() { VerticalOptions = LayoutOptions.Fill, HorizontalOptions = LayoutOptions.Fill, CornerRadius = 5 };
                                 *
                                 * brView.SetValue(XamEffects.TouchEffect.ColorProperty, Color.White);
                                 * Commands.SetTap(brView, new Command((o) => {
                                 *      var z = (BookmarkPoster)o;
                                 *      PushPageFromUrlAndName(z.id, z.name);
                                 * }));
                                 * Commands.SetTapParameter(brView, _b);*/


                                // var _color = Settings.BlackColor + 5;

                                Frame boxView = new Frame()
                                {
                                    BackgroundColor = Settings.ItemBackGroundColor,                                    // Color.FromRgb(_color, _color, _color),
                                    //	InputTransparent = true,
                                    CornerRadius  = 5,
                                    HeightRequest = RecPosterHeight + bookmarkLabelTransY,
                                    TranslationY  = 0,
                                    WidthRequest  = RecPosterWith,
                                    HasShadow     = true,
                                };

                                stackLayout.Children.Add(boxView);
                                stackLayout.Children.Add(ff);
                                //stackLayout.Children.Add(imageButton);
                                stackLayout.Children.Add(new Label()
                                {
                                    Text = name, VerticalOptions = LayoutOptions.Start, VerticalTextAlignment = TextAlignment.Center, HorizontalTextAlignment = TextAlignment.Center, HorizontalOptions = LayoutOptions.Center, Padding = 1, TextColor = Color.White, MaxLines = 2, ClassId = "OUTLINE", TranslationY = RecPosterHeight
                                });
                                //stackLayout.Children.Add(brView);



                                if (Settings.ShowNextEpisodeReleaseDate)
                                {
                                    CloudStreamCore.NextAiringEpisodeData?nextData = App.GetKey <NextAiringEpisodeData?>(App.NEXT_AIRING, id, null);
                                    if (nextData.HasValue)
                                    {
                                        var    nextAir = nextData.Value;
                                        string nextTxt = GetAirDate(nextAir.airingAt);

                                        var btt = new Button()
                                        {
                                            //BackgroundColor = new Color(0.188, 0.247, 0.623, 0.8)
                                            BackgroundColor   = new Color(0, 0, 0, 0.4),
                                            Text              = nextTxt,
                                            ClassId           = "CUST",
                                            TextColor         = Color.White,
                                            InputTransparent  = true,
                                            HeightRequest     = 20,
                                            FontSize          = 11,
                                            VerticalOptions   = LayoutOptions.Start,
                                            HorizontalOptions = LayoutOptions.End,
                                            CornerRadius      = 1,
                                            Padding           = 2,
                                            Margin            = 0,
                                            Scale             = 1,
                                            TranslationX      = 1,
                                            WidthRequest      = 60
                                        };
                                        updateLabels.Add(new UpdateLabel()
                                        {
                                            label = btt, id = id
                                        });
                                        stackLayout.Children.Add(btt);
                                    }
                                }

                                stackLayout.Opacity = 0;

                                async void WaitUntillComplete()
                                {
                                    stackLayout.Opacity = 0;
                                    while (!allDone)
                                    {
                                        await Task.Delay(50);
                                    }
                                    await stackLayout.FadeTo(1, (uint)(200 + index * 50), Easing.Linear);
                                }

                                WaitUntillComplete();

                                index++;
                                //slay.Children.Add(stackLayout);
                                Bookmarks.Children.Add(stackLayout);

                                /*
                                 * Grid stackLayout = new Grid();
                                 *
                                 *
                                 * var ff = new FFImageLoading.Forms.CachedImage {
                                 * Source = posterUrl,
                                 * HeightRequest = height,
                                 * WidthRequest = 87,
                                 * BackgroundColor = Color.Transparent,
                                 * VerticalOptions = LayoutOptions.Start,
                                 * Transformations = {
                                 * new FFImageLoading.Transformations.RoundedTransformation(1,1,1.5,0,"#303F9F")
                                 * },
                                 * InputTransparent = true,
                                 * };
                                 *
                                 * //Source = p.posterUrl
                                 *
                                 * stackLayout.Children.Add(ff);
                                 * // stackLayout.Children.Add(imageButton);
                                 * bookmarkPosters.Add(new BookmarkPoster() { id = id, name = name, posterUrl = posterUrl });
                                 * Grid.SetColumn(stackLayout, Bookmarks.Children.Count);
                                 * Bookmarks.Children.Add(stackLayout);
                                 *
                                 * // --- RECOMMENDATIONS CLICKED -----
                                 * stackLayout.SetValue(XamEffects.TouchEffect.ColorProperty, Color.White);
                                 * Commands.SetTap(stackLayout, new Command((o) => {
                                 * int z = (int)o;
                                 * PushPageFromUrlAndName(bookmarkPosters[z].id, bookmarkPosters[z].name);
                                 * }));
                                 * Commands.SetTapParameter(stackLayout, i);*/
                            }
                        }
                        // data.Add(App.GetKey("BookmarkData"))
                    }
                    //await Task.Delay(100);

                    //MScroll.HeightRequest = keys.Count > 0 ? 130 : 0;
                }
                allDone      = true;
                hasBookmarks = bookmarkPosters.Count > 0;

                UpdateNoBookmarks();

                /*if (ImdbTypePicker.SelectedIndex == -1) {
                 * ImdbTypePicker.SelectedIndex = bookmarkPosters.Count > 0 ? 0 : 2; // SET TO POPULAR BY DEAFULT
                 * }*/
                SetRecs();
            }
            catch (Exception _ex) {
                error(_ex);
            }
            ChangeSizeOfTabs();
        }
コード例 #3
0
        void UpdateBookmarks()
        {
            try {
                string[]      keys = App.GetKeys <string>(App.BOOKMARK_DATA);
                List <string> data = new List <string>();
                bookmarkPosters = new List <BookmarkPoster>();
                updateLabels.Clear();
                IsBookmarked.Clear();
                epView.HomeCollection.Clear();

                var bgColor = Settings.ItemBackGroundColor.ToHex();

                int  index   = 0;
                bool allDone = false;
                for (int i = 0; i < keys.Length; i++)
                {
                    string __key = keys[i];
                    if (__key == "")
                    {
                        continue;
                    }
                    string name      = FindHTML(__key, "Name=", "|||");
                    string posterUrl = FindHTML(__key, "PosterUrl=", "|||");
                    posterUrl = ConvertIMDbImagesToHD(posterUrl, 182, 268);

                    string id = FindHTML(__key, "Id=", "|||");
                    if (name != "" && posterUrl != "" && id != "")
                    {
                        if (CheckIfURLIsValid(posterUrl))
                        {
                            IsBookmarked.Add(id, true);
                            string posterURL = ConvertIMDbImagesToHD(posterUrl, 76, 113, 1.75);
                            if (CheckIfURLIsValid(posterURL))
                            {
                                var _b = new BookmarkPoster()
                                {
                                    id = id, name = name, posterUrl = posterUrl
                                };
                                bookmarkPosters.Add(_b);

                                bool   showNext = false;
                                string nextTxt  = "";
                                if (Settings.ShowNextEpisodeReleaseDate)
                                {
                                    CloudStreamCore.NextAiringEpisodeData?nextData = App.GetKey <NextAiringEpisodeData?>(App.NEXT_AIRING, id, null);
                                    if (nextData.HasValue)
                                    {
                                        showNext = true;
                                        var nextAir = nextData.Value;
                                        nextTxt = GetAirDate(nextAir.airingAt);
                                    }
                                }

                                epView.HomeCollection.Add(new HomeBookmark()
                                {
                                    ExtraColor  = bgColor,
                                    ImdbId      = id,
                                    Title       = name,
                                    PosterUrl   = posterUrl,
                                    OpenCommand = new Command(() => {
                                        PushPageFromUrlAndName(id, name);
                                    }),
                                    NextEpisodeText = nextTxt,
                                    ShowNextEpisode = showNext,
                                });
                            }
                        }
                    }
                }
                allDone      = true;
                hasBookmarks = bookmarkPosters.Count > 0;

                UpdateNoBookmarks();

                /*if (ImdbTypePicker.SelectedIndex == -1) {
                 * ImdbTypePicker.SelectedIndex = bookmarkPosters.Count > 0 ? 0 : 2; // SET TO POPULAR BY DEAFULT
                 * }*/
                SetRecs();
            }
            catch (Exception _ex) {
                error(_ex);
            }
            ChangeSizeOfTabs();
        }