Exemple #1
0
        /// <summary>
        /// Search
        /// </summary>
        /// <param name="value"></param>
        /// <param name="tube"></param>
        /// <param name="items"></param>
        /// <returns></returns>
        public static bool DO(string value, string tube, List <ListViewItem> items, DotsLoaderView dotsLoaderView)
        {
            try
            {
                Log.println("Search, tube: " + tube + ", search string: " + value);

                ActivityContext.mActivity.RunOnUiThread(() => dotsLoaderView.Show());

                switch (tube)
                {
                case "YouTube":
                    var ytitems = YouTubeSearch.Query(value, Convert.ToInt32(Settings.Retrieve("SearchPages")));

                    foreach (var item in ytitems)
                    {
                        if (!String.IsNullOrEmpty(item.getTitle()) &&
                            !String.IsNullOrEmpty(item.getDuration()) &&
                            item.getDuration() != " ")
                        {
                            // Add items
                            items.Add(new ListViewItem()
                            {
                                Title     = item.getTitle(),
                                Author    = item.getAuthor(),
                                Url       = item.getUrl(),
                                Duration  = item.getDuration(),
                                Thumbnail = item.getThumbnail()
                            });
                        }
                    }
                    break;

                case "ccMixter":
                    var ccitems = ccMixterSearch.Query(value, Convert.ToInt32(Settings.Retrieve("SearchPages")));

                    foreach (var item in ccitems)
                    {
                        // Add items
                        items.Add(new ListViewItem()
                        {
                            Title  = item.getTitle(),
                            Author = item.getAuthor(),
                            Url    = item.getUrl()
                        });
                    }
                    break;

                case "Dailymotion":
                    var dmitems = DailymotionSearch.Query(value, Convert.ToInt32(Settings.Retrieve("SearchPages")));

                    foreach (var item in dmitems)
                    {
                        // Add items
                        items.Add(new ListViewItem()
                        {
                            Title  = item.getTitle(),
                            Author = item.getAuthor(),
                            Url    = item.getUrl()
                        });
                    }
                    break;

                case "Eroprofile":
                    var epitems = EroprofileSearch.Query(value, Convert.ToInt32(Settings.Retrieve("SearchPages")));

                    foreach (var item in epitems)
                    {
                        // Add items
                        items.Add(new ListViewItem()
                        {
                            Title     = item.getTitle(),
                            Url       = item.getUrl(),
                            Duration  = item.getDuration(),
                            Thumbnail = item.getThumbnail()
                        });
                    }
                    break;

                case "Pornhub":
                    var phitems = PornhubSearch.Query(value, Convert.ToInt32(Settings.Retrieve("SearchPages")));

                    foreach (var item in phitems)
                    {
                        // Add items
                        items.Add(new ListViewItem()
                        {
                            Title     = item.getTitle(),
                            Url       = item.getUrl(),
                            Duration  = item.getDuration(),
                            Thumbnail = item.getThumbnail()
                        });
                    }
                    break;

                case "Vimeo":
                    var vmitems = VimeoSearch.Query(value, Convert.ToInt32(Settings.Retrieve("SearchPages")));

                    foreach (var item in vmitems)
                    {
                        // Add items
                        items.Add(new ListViewItem()
                        {
                            Title     = item.getTitle(),
                            Author    = item.getAuthor(),
                            Url       = item.getUrl(),
                            Duration  = item.getDuration(),
                            Thumbnail = item.getThumbnail()
                        });
                    }
                    break;

                case "xHamster":
                    var xhitems = xHamsterSearch.Query(value, Convert.ToInt32(Settings.Retrieve("SearchPages")));

                    foreach (var item in xhitems)
                    {
                        // Add items
                        items.Add(new ListViewItem()
                        {
                            Title     = item.getTitle(),
                            Url       = item.getUrl(),
                            Duration  = item.getDuration(),
                            Thumbnail = item.getThumbnail()
                        });
                    }
                    break;

                default:
                    ActivityContext.mActivity.RunOnUiThread(() => dotsLoaderView.Hide());
                    return(false);
                }

                try
                {
                    items.Sort();
                }
                catch { }

                ActivityContext.mActivity.RunOnUiThread(() => dotsLoaderView.Hide());

                return(true);
            }
            catch (Exception ex)
            {
#if DEBUG
                Console.WriteLine(ex.ToString());
#endif

                Log.println(ex.ToString());

                ActivityContext.mActivity.RunOnUiThread(() => dotsLoaderView.Hide());

                return(false);
            }
        }
Exemple #2
0
        public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
        {
            /* UI */
            var view = inflater.Inflate(Resource.Layout.Search, container, false);

            this.view = view;

            // Get layout resources and attach an event to it

            buttonSearch = view.FindViewById <Button>(Resource.Id.buttonSearch);
            editText     = view.FindViewById <EditText>(Resource.Id.editTextSearch);

            listView = view.FindViewById <ListView>(Resource.Id.listViewResult);
            textView = view.FindViewById <TextView>(Resource.Id.textViewPlaying);
            seekBar  = view.FindViewById <SeekBar>(Resource.Id.seekBarPlayer);
            Button buttonStop = view.FindViewById <Button>(Resource.Id.buttonStop);

            spinner = view.FindViewById <Spinner>(Resource.Id.spinner);

            spinner.ItemSelected += new EventHandler <AdapterView.ItemSelectedEventArgs>(spinner_ItemSelected);
            var spinneradapter = ArrayAdapter.CreateFromResource(
                ActivityContext.mActivity, Resource.Array.tubes_array, Android.Resource.Layout.SimpleSpinnerItem);

            spinneradapter.SetDropDownViewResource(Android.Resource.Layout.SimpleSpinnerDropDownItem);
            spinner.Adapter = spinneradapter;

            dotsLoaderView = view.FindViewById <DotsLoaderView>(Resource.Id.dotsLoaderView);

            // Prevent sleeping
            ActivityContext.mActivity.Window.SetFlags(WindowManagerFlags.KeepScreenOn, WindowManagerFlags.KeepScreenOn);

            if (items == null)
            {
                items = new List <ListViewItem>();
            }

            if (adapter == null)
            {
                adapter = new SearchListViewAdapter(ActivityContext.mActivity, items, this);
            }

            listView.Adapter = adapter;

            buttonSearch.Click += delegate
            {
                // Clear listView
                items.Clear();

                try
                {
                    adapter.NotifyDataSetChanged();
                }
                catch
                { }

                if (!String.IsNullOrEmpty(spinnerSelected) && !spinnerSelected.Equals("Tube"))
                {
                    // Search
                    Thread thread = new Thread(() => search(editText.Text, spinnerSelected));
                    ActivityContext.mActivity.RunOnUiThread(() => thread.Start());
                }
                else
                {
                    Toast.MakeText(ActivityContext.mActivity, "Please select a tube", ToastLength.Long).Show();
                }

                // Hide keyboard
                View view_ = ActivityContext.mActivity.CurrentFocus;

                InputMethodManager manager = (InputMethodManager)ActivityContext.mActivity.GetSystemService(Context.InputMethodService);
                manager.HideSoftInputFromWindow(view_.WindowToken, 0);
            };

            buttonStop.Click += delegate
            {
                if (mp != null)
                {
                    try
                    {
                        if (mp.IsPlaying)
                        {
                            mp.Stop();
                        }
                    }
                    catch
                    {
                    }

                    try
                    {
                        mp.Reset();

                        mp.Release();
                    }
                    catch
                    {
                    }

                    mp = null;

#if DEBUG
                    Console.WriteLine("Player resetted");
#endif

                    Log.println("Player resetted");
                }

                if (mpHandler != null)
                {
                    if (mpAction != null)
                    {
                        mpHandler.RemoveCallbacks(mpAction);
                    }

                    seekBar.Progress = 0;
                    textView.Text    = "-";

#if DEBUG
                    Console.WriteLine("Player stopped");
#endif

                    Log.println("Player stopped");
                }
            };

            textView.Text = "-";

            // Initialize seekbar
            seekBar.SetOnSeekBarChangeListener(this);

            // Request permissions
#pragma warning disable CS4014
            ActivityContext.mActivity.RunOnUiThread(() => requestPermissionsAsync());
#pragma warning restore CS4014

            // Set focus to textview
            editText.RequestFocus();

#if DEBUG
            Console.WriteLine("App is loaded");
#endif

            Log.println("App is loaded");

            CreateNotificationChannel();

            return(view);
        }