Esempio n. 1
0
    private void Update()
    {
        if (Input.GetKeyDown(KeyCode.P) || Input.GetKeyDown(KeyCode.Escape))
        {
            // Can only unpause if not saving
            if (SavingThread.GetInstance().checkThreadRunning() == false)
            {
                ToggleActive();
            }
        }

        if (_Active)
        {
            // Saving Effect
            bool CheckSaving = SavingThread.GetInstance().checkThreadRunning();
            PauseMenu.GetInstance()._LoadingText.enabled = CheckSaving;
            if (CheckSaving)
            {
                PauseMenu.GetInstance()._LoadingText.text = "Loading... (" +
                                                            SavingThread.m_Saving_Layer.ToString() + "-" +
                                                            SavingThread.m_Saving_Perceptron.ToString() + "-" +
                                                            SavingThread.m_Saving_Weight.ToString() + ")";
            }
            //

            _Parent.SetActive(true);

            Vector3 Position = _FancyBar.GetComponent <RectTransform>().position;
            Position.y = Mathf.Lerp(Position.y, getItem(_MenuIndex)._Text.GetComponent <RectTransform>().position.y, 0.3f);
            _FancyBar.GetComponent <RectTransform>().position = Position;

            if (Input.GetKeyDown(KeyCode.DownArrow) || Input.GetKeyDown(KeyCode.S))
            {
                _MenuIndex++;
                if (_MenuIndex > _Items.Length - 1)
                {
                    _MenuIndex = 0;
                }
            }
            if (Input.GetKeyDown(KeyCode.UpArrow) || Input.GetKeyDown(KeyCode.W))
            {
                _MenuIndex--;
                if (_MenuIndex < 0)
                {
                    _MenuIndex = _Items.Length - 1;
                }
            }

            for (int i = 0; i < _Items.Length; i++)
            {
                if (i != _MenuIndex)
                {
                    _Items[i]._Text.color = Color.Lerp(_Items[i]._Text.color, _UnselectedColor, 0.25f);
                }
            }
            _Items[_MenuIndex]._Text.color = Color.Lerp(_Items[_MenuIndex]._Text.color, _SelectedColor, 0.4f);

            // API for File Browser
            // https://github.com/gkngkc/UnityStandaloneFileBrowser
            //
            if (Input.GetKeyDown(KeyCode.Space) || Input.GetKeyDown(KeyCode.KeypadEnter) || Input.GetKeyDown(KeyCode.Return))
            {
                switch (_Items[_MenuIndex]._type)
                {
                case PauseItem.Type.RESUME:
                {
                    // Can only unpause if not saving
                    if (SavingThread.GetInstance().checkThreadRunning() == false)
                    {
                        ToggleActive();
                    }
                }
                break;

                case PauseItem.Type.SAVE_EPOCH:
                {
                    // Get Current Epoch
                    Epoch epoch = TetrisPerceptronManager.GetEpochManager().GetCurrentEpoch();
                    if (epoch == null)
                    {
                        Debug.LogError("No Current Epoch");
                        return;
                    }

                    string Directory = SimpleFileDialog.SelectFile();
                    if (Directory == "")
                    {
                        Debug.LogError("Directory Not Selected");
                        return;
                    }

                    SavingThread.GetInstance().SaveEpoch(epoch, Directory);
                }
                break;

                case PauseItem.Type.SAVE_BEST_EPOCH:
                {
                    // Get Best Epoch
                    Epoch epoch = TetrisPerceptronManager.GetEpochManager().GetBestEpochAcrossGeneration();
                    if (epoch == null)
                    {
                        Debug.LogError("No Current Epoch");
                        return;
                    }

                    string Directory = SimpleFileDialog.SelectFile();
                    if (Directory == "")
                    {
                        Debug.LogError("Directory Not Selected");
                        return;
                    }

                    SavingThread.GetInstance().SaveEpoch(epoch, Directory);
                }
                break;

                case PauseItem.Type.LOAD_EPOCH:
                {
                    // Read Data File as String
                    string Data = SimpleFileDialog.OpenFile();
                    if (Data.Length == 0)
                    {
                        return;
                    }

                    // Read File
                    Epoch Result = EpochParser.LoadFile(Data);
                    if (Result == null)
                    {
                        return;
                    }

                    // Set To Current Epoch
                    TetrisPerceptronManager.GetEpochManager().OverrideCurrentEpoch(Result);

                    // Reset Game
                    Tetris.GetInstance().ResetGame();
                }
                break;
                }
            }
        }
        else
        {
            _Parent.SetActive(false);
        }
    }
Esempio n. 2
0
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);

            SetContentView(Resource.Layout.activity_main);
            StrictMode.VmPolicy.Builder builder = new StrictMode.VmPolicy.Builder();
            StrictMode.SetVmPolicy(builder.Build());
            builder.DetectFileUriExposure();
            ServicePointManager.ServerCertificateValidationCallback += new System.Net.Security.RemoteCertificateValidationCallback(ValidateRemoteCertificate);
            // se selecciona la version de el protocolo de seguridad a la versiond e tls 1.2
            System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12;
            Android.Support.V7.Widget.Toolbar toolbar = FindViewById <Android.Support.V7.Widget.Toolbar>(Resource.Id.my_toolbar);
            SetSupportActionBar(toolbar);
            sidem      = FindViewById <Android.Support.V4.Widget.DrawerLayout>(Resource.Id.drawer_layout);
            itemsm     = FindViewById <NavigationView>(Resource.Id.content_frame);
            searchview = FindViewById <Android.Support.V7.Widget.SearchView>(Resource.Id.searchView);
            listin     = FindViewById <ListView>(Resource.Id.listView1);
            actividad  = this;
            //////////////////////////////////////////////////
            SupportActionBar.SetHomeAsUpIndicator(Resource.Drawable.hambur);
            SupportActionBar.SetDisplayHomeAsUpEnabled(true);
            SupportActionBar.Title = "";
            SupportActionBar.SetBackgroundDrawable(new ColorDrawable(Color.ParseColor("#2b2e30")));
            online = Intent.GetBooleanExtra("online", false);


            TextView titleTextView = null;

            try
            {
                var f = toolbar.Class.GetDeclaredField("mTitleTextView");
                f.Accessible  = true;
                titleTextView = (TextView)f.Get(toolbar);

                titleTextView.Ellipsize            = Android.Text.TextUtils.TruncateAt.Marquee;
                titleTextView.Focusable            = true;
                titleTextView.FocusableInTouchMode = true;
                titleTextView.RequestFocus();
                titleTextView.SetSingleLine(true);
                titleTextView.Selected = true;
                titleTextView.SetMarqueeRepeatLimit(-1);
            }
            catch
            {
            }

            if (!Directory.Exists(directoriocache))
            {
                Directory.CreateDirectory(directoriocache);
            }

            listin.ItemClick += async(aa, aaa) => {
                var texto = aaa.View.FindViewById <TextView>(Resource.Id.textView).Text;
                if (estado == 0)
                {
                    var    link    = listaelementos.First(aax => aax.Name == texto).InfoLink;
                    Intent intento = new Intent(this, typeof(actbiginfo));
                    intento.PutExtra("link", link);
                    intento.PutExtra("consoleindex", selectedconsole);
                    intento.PutExtra("placeholder", idimagen);
                    StartActivity(intento);
                    Console.WriteLine("");
                }
                else
                if (estado == 1)
                {
                    var seleccion = listaelementos.First(aax => aax.Name == texto);
                    new Thread(() =>
                    {
                        miselaneousmethods.abriremulador(this, miselaneousmethods.consolelist[miselaneousmethods.consolelistformal.ToList().IndexOf(seleccion.Region)], Android.Net.Uri.Parse(seleccion.InfoLink), dialogoprogreso);
                    }).Start();
                }
                else
                if (estado == 2)
                {
                    var consoleindex = miselaneousmethods.consolelist.ToList().IndexOf(listaelementos.First(aax => aax.Name == texto).InfoLink);

                    selectedconsole = consoleindex;
                    SupportActionBar.SetHomeAsUpIndicator(Resource.Drawable.home);
                    new Thread(() =>
                    {
                        cargarconsola(consoleindex);
                    }).Start();
                }
                else
                if (estado == 3)
                {
                    var seleccion = listaelementos.First(aax => aax.Name == texto);
                    var indice    = miselaneousmethods.consolelistformal.ToList().IndexOf(seleccion.Name);
                    if (diccionarioemuladores.ContainsKey(miselaneousmethods.consolelist[indice]))
                    {
                        new Thread(() =>
                        {
                            cargaremulador(indice);
                        }).Start();
                    }
                    else
                    {
                        Toast.MakeText(this, "No se han añadido emuladores para esta consola aún", ToastLength.Long).Show();
                    }
                }
                if (estado == 4)
                {
                    var seleccion = listaelementos.First(aax => aax.Name == texto);
                    var uri       = Android.Net.Uri.Parse(seleccion.InfoLink);
                    var intent    = new Intent(Intent.ActionView, uri);
                    StartActivity(intent);
                }
                if (estado == 5)
                {
                    var seleccion        = listaelementos.First(aax => aax.Name == texto);
                    SimpleFileDialog sfd = new SimpleFileDialog(this, SimpleFileDialog.FileSelectionMode.FolderChooseRoot);
                    var rutula           = await sfd.GetFileOrDirectoryAsync(Android.OS.Environment.ExternalStorageDirectory.AbsolutePath);

                    miselaneousmethods.cambiarruta(this, miselaneousmethods.consolelist[miselaneousmethods.consolelistformal.ToList().IndexOf(seleccion.Name)], rutula);
                    new Thread(() =>
                    {
                        cargarrutas();
                    }).Start();
                }
            };
            new Thread(() =>
            {
                ///idimagen = Resource.Drawable.gameboy;
                ///

                if (online)
                {
                    llenarlistas();
                    cargarconsolas();
                }
                else
                {
                    cargardescargas();
                }
                //  cargarconsola(0);
            }).Start();
            new Thread(() =>
            {
                alertifnewdowload();
            }).Start();
            new Thread(() => infoserverstatus()).Start();
            ////////////////////////////////
            itemsm.NavigationItemSelected += (sender, e) =>
            {
                e.MenuItem.SetChecked(true);
                e.MenuItem.SetChecked(true);
                var nombreconsola = e.MenuItem.TitleFormatted.ToString().Trim();
                SupportActionBar.SetHomeAsUpIndicator(Resource.Drawable.hambur);
                if (nombreconsola == "Acerca de")
                {
                    StartActivity(new Intent(this, typeof(actacercade)));
                }
                else
                if (nombreconsola == "Deja un feedback")
                {
                    if (online)
                    {
                        StartActivity(new Intent(this, typeof(actsugerencias)));
                    }
                    else
                    {
                        Toast.MakeText(this, "Solo disponible en modo online", ToastLength.Long).Show();
                    }
                }
                if (nombreconsola == "Roms descargados")
                {
                    if (File.Exists(miselaneousmethods.archivoregistro))
                    {
                        searchview.SetQuery("", true);
                        new Thread(() =>
                        {
                            cargardescargas();
                        }).Start();
                    }
                    else
                    {
                        Toast.MakeText(this, "Usted no ha descargado ningun rom", ToastLength.Long).Show();
                    }
                }
                else
                if (nombreconsola == "Roms")
                {
                    if (online)
                    {
                        searchview.SetQuery("", true);
                        new Thread(() =>
                        {
                            cargarconsolas();
                        }).Start();
                    }
                    else
                    {
                        Toast.MakeText(this, "Solo disponible en modo online", ToastLength.Long).Show();
                    }
                }
                if (nombreconsola == "Emuladores")
                {
                    if (online)
                    {
                        searchview.SetQuery("", true);
                        new Thread(() =>
                        {
                            cargaremuladores();
                        }).Start();
                    }
                    else
                    {
                        Toast.MakeText(this, "Solo disponible en modo online", ToastLength.Long).Show();
                    }
                }
                if (nombreconsola == "Carpetas de descargas")
                {
                    searchview.SetQuery("", true);
                    new Thread(() =>
                    {
                        cargarrutas();
                    }).Start();
                }
                e.MenuItem.SetChecked(false);
                e.MenuItem.SetChecked(false);
                sidem.CloseDrawers();
            };
            //////////////////////////////////////////////////////////////////////////////filter
            ///

            searchview.QueryTextSubmit += (aa, aaa) =>
            {
                Console.WriteLine("klkprro");
                if (estado == 0 || estado == 4)
                {
                    adaptadorroms adaptadolllll = null;
                    adaptadolllll = new adaptadorroms(this, listaelementos.Where(aaxx => aaxx.Name.ToLower().Contains(aaa.Query.ToLower())).ToList(), idimagen);
                    RunOnUiThread(() => listin.Adapter = adaptadolllll);
                }
            };
            searchview.QueryTextChange += (aa, aaa) =>
            {
                try
                {
                    if (aaa.NewText != null)
                    {
                        adaptadorroms           adaptadolllll  = null;
                        adaptadorromsdownloaded adaptadolllll2 = null;
                        if (estado == 0 || estado == 4)
                        {
                            if (romcounts[selectedconsole] <= 500)
                            {
                                adaptadolllll = new adaptadorroms(this, listaelementos.Where(aaxx => aaxx.Name.ToLower().Contains(aaa.NewText.ToLower())).ToList(), idimagen);
                            }
                            else
                            if (aaa.NewText.Length <= 1)
                            {
                                adaptadolllll = new adaptadorroms(this, listaelementos.Where(aaxx => aaxx.Name.ToLower().Contains("")).ToList(), idimagen);
                            }
                        }
                        else
                        if (estado == 1)
                        {
                            var selector = listaelementos.Where(aaxx => aaxx.Name.ToLower().Contains(aaa.NewText.ToLower()) || aaxx.Region.ToLower().Contains(aaa.NewText.ToLower())).ToList();
                            var links    = new List <string>();
                            foreach (var axx in selector)
                            {
                                links.Add(downloadlinks[listaelementos.IndexOf(axx)]);
                            }

                            adaptadolllll2 = new adaptadorromsdownloaded(this, selector, Resource.Drawable.download, null, links);

                            RunOnUiThread(() => listin.Adapter = adaptadolllll2);
                            //   links.Clear();
                        }

                        else
                        {
                            var selector  = listaelementos.Where(aaxx => aaxx.Name.ToLower().Contains(aaa.NewText.ToLower())).ToList();
                            var portraits = new List <int>();
                            foreach (var axx in selector)
                            {
                                portraits.Add(resourceids[listaelementos.IndexOf(axx)]);
                            }

                            adaptadolllll = new adaptadorroms(this, listaelementos.Where(aaxx => aaxx.Name.ToLower().Contains(aaa.NewText.ToLower())).ToList(), idimagen, portraits.ToArray(), true);
                        }

                        if (estado != 1 && romcounts[selectedconsole] <= 500)
                        {
                            RunOnUiThread(() => listin.Adapter = adaptadolllll);
                        }
                    }
                    else
                    {
                        if (estado == 0 || estado == 4)
                        {
                            if (romcounts[selectedconsole] >= 500)
                            {
                                adaptadorroms adaptadolllll = null;
                                adaptadolllll = new adaptadorroms(this, listaelementos.Where(aaxx => aaxx.Name.ToLower().Contains("")).ToList(), idimagen);
                            }
                        }
                    }
                }
                catch {
                }

                /*var adaptadol2 = new adapterlistaoffline(this, nombreses.Where(a => a.ToLower().Contains(aaa.NewText.ToLower())).ToList(), portadases, "", nombreses, diccionario, patheses);
                 *
                 * RunOnUiThread(() => lista.Adapter = adaptadol2);*/
            };
        }
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);

            SetContentView(Resource.Layout.Configuraciones);

            ISharedPreferences       prefs      = Application.Context.GetSharedPreferences("Settings", FileCreationMode.Private);
            ISharedPreferencesEditor prefEditor = prefs.Edit();

            botonseleccionarcarpeta = FindViewById <Button>(Resource.Id.imageView1);
            localizacion            = FindViewById <TextView>(Resource.Id.textView3);
            //   botonguardar = FindViewById<ImageView>(Resource.Id.imageView2);
            var colormuestra = FindViewById <ImageView>(Resource.Id.imageView3);

            colormuestra.SetBackgroundColor(Color.ParseColor(SettingsHelper.GetSetting("color")));
            color            = SettingsHelper.GetSetting("color");
            reprodautomatica = SettingsHelper.GetSetting("automatica");
            var ll1             = FindViewById <LinearLayout>(Resource.Id.linearLayout3);
            var ll2             = FindViewById <LinearLayout>(Resource.Id.linearLayout4);
            var ll3             = FindViewById <LinearLayout>(Resource.Id.linearLayout5);
            var ll4             = FindViewById <LinearLayout>(Resource.Id.linearLayout7);
            var ll5             = FindViewById <LinearLayout>(Resource.Id.linearLayout23);
            var fondo           = FindViewById <ImageView>(Resource.Id.fondo1);
            var toggle1         = FindViewById <Android.Support.V7.Widget.SwitchCompat>(Resource.Id.toggleButton1);
            var toggle2         = FindViewById <Android.Support.V7.Widget.SwitchCompat>(Resource.Id.toggleButton2);
            var automatica      = FindViewById <Android.Support.V7.Widget.SwitchCompat>(Resource.Id.automatico);
            var botonclearcache = FindViewById <LinearLayout>(Resource.Id.linearLayout8);

            calidades = FindViewById <Spinner>(Resource.Id.spinner1);
            var action = FindViewById <Android.Support.V7.Widget.Toolbar>(Resource.Id.my_toolbar);

            //////////////////////////////////////coloreselector mappings

#pragma warning disable CS0618 // El tipo o el miembro están obsoletos
            dialogoprogreso = new ProgressDialog(this);
#pragma warning restore CS0618 // El tipo o el miembro están obsoletos
            ///////////////////////////////////////////////////////////

            ////////////////////////////////////////////////////////////////
            ///
            if (reprodautomatica == "si")
            {
                automatica.Checked = true;
            }
            else
            {
                automatica.Checked = false;
            }


            SetSupportActionBar(action);
            SupportActionBar.Title = "Preferencias";
            SupportActionBar.SetDisplayHomeAsUpEnabled(true);

            var adapter = new  ArrayAdapter(this, Android.Resource.Layout.SimpleSpinnerItem);
            adapter.AddAll(new string[] { "Audio", "360p", "720p" }.ToList());
            adapter.SetDropDownViewResource(Android.Resource.Layout.SimpleSpinnerDropDownItem);
            calidades.Adapter = adapter;

            color   = SettingsHelper.GetSetting("color");
            calidad = int.Parse(SettingsHelper.GetSetting("video"));
            switch (calidad)
            {
            case -1:
                calidades.SetSelection(0);
                break;

            case 360:
                calidades.SetSelection(1);
                break;

            case 720:
                calidades.SetSelection(2);
                break;
            }

            if (SettingsHelper.HasKey("abrirserver"))
            {
                abrirserver = SettingsHelper.GetSetting("abrirserver");
            }
            if (abrirserver == "no")
            {
                toggle2.Checked = false;
            }
            else
            {
                toggle2.Checked = true;
            }


            if (SettingsHelper.HasKey("ordenalfabeto"))
            {
                ordenalfabeto = SettingsHelper.GetSetting("ordenalfabeto");

                if (ordenalfabeto == "si")
                {
                    toggle1.Checked = true;
                }
                else
                {
                    toggle1.Checked = false;
                }
            }

            if (SettingsHelper.HasKey("rutadescarga"))
            {
                klk = prefs.GetString("rutadescarga", null);
            }
            else
            {
                if (Directory.Exists(Android.OS.Environment.ExternalStorageDirectory.AbsolutePath + "/YTDownloads"))
                {
                    klk = Android.OS.Environment.ExternalStorageDirectory.AbsolutePath + "/YTDownloads";
                    prefEditor.PutString("rutadescarga", klk);
                    prefEditor.Commit();
                }
                else
                {
                    Directory.CreateDirectory(Android.OS.Environment.ExternalStorageDirectory.AbsolutePath + "/YTDownloads");
                    klk = Android.OS.Environment.ExternalStorageDirectory.AbsolutePath + "/YTDownloads";
                    prefEditor.PutString("rutadescarga", klk);
                    prefEditor.Commit();
                }
            }

            localizacion.Text = klk;

            fondo.SetImageBitmap(CreateBlurredImageoffline(this, 20, 0));
            ////////////////////////////////clicks////////////////////////////

            calidades.ItemSelected += (axx, ssd) => {
                switch (ssd.Position)
                {
                case 0:
                    calidad = -1;
                    break;

                case 1:
                    calidad = 360;
                    break;

                case 2:
                    calidad = 720;
                    break;
                }
            };
            automatica.Click += delegate
            {
                if (automatica.Checked)
                {
                    reprodautomatica = "si";
                    Toast.MakeText(this, "Si no hay mas elementos en cola se reproducira el primer elemento de las sugerencias", ToastLength.Long).Show();
                }
                else
                {
                    reprodautomatica = "no";
                    Toast.MakeText(this, "Si no hay mas elementos en cola no se ejecutara ninguna accion", ToastLength.Long).Show();
                }
            };
            toggle2.Click += delegate
            {
                if (toggle2.Checked)
                {
                    new Thread(() =>
                    {
                        if (PlaylistsHelper.HasMediaElements)
                        {
                            if (File.Exists(Android.OS.Environment.ExternalStorageDirectory.AbsolutePath + "/.gr3cache/version.gr3v"))
                            {
                                abrirserver = "si";

                                StartService(new Intent(this, typeof(serviciostreaming)));
                            }
                            else

                            {
                                AlertDialog dialogo = null;
                                RunOnUiThread(() => {
                                    var progresox           = new ProgressBar(this);
                                    progresox.Indeterminate = true;

                                    dialogo = new AlertDialog.Builder(this)
                                              .SetTitle("Buscando actualizaciones")
                                              .SetMessage("Por favor espere...")
                                              .SetCancelable(false)
                                              .SetView(progresox)
                                              .Show();
                                });
                                if (CheckInternetConnection())
                                {
                                    abrirserver        = "si";
                                    AlertDialog alerta = null;
                                    RunOnUiThread(() =>
                                    {
                                        dialogo.Dismiss();
                                        var progreso           = new ProgressBar(this);
                                        progreso.Indeterminate = true;

                                        alerta = new AlertDialog.Builder(this)
                                                 .SetTitle("Descargando archivos necesarios")
                                                 .SetMessage("Por favor espere...")
                                                 .SetCancelable(false)
                                                 .SetView(progreso)
                                                 .Show();
                                    });
                                    new Thread(() =>
                                    {
                                        WebClient cliente = new WebClient();
                                        var version       = cliente.DownloadString("https://raw.githubusercontent.com/Gr3gorywolf/Multitube.android/master/Updates/version.gr3v");
                                        using (var file = File.CreateText(Android.OS.Environment.ExternalStorageDirectory.AbsolutePath + "/.gr3cache/version.gr3v")) {
                                            file.Write(version);
                                            file.Close();
                                        }
                                        MultitubeWebHelper.UpdateMultitubeWeb(version);
                                        RunOnUiThread(() =>
                                        {
                                            alerta.Dismiss();
                                            StartService(new Intent(this, typeof(serviciostreaming)));
                                            new AlertDialog.Builder(this)
                                            .SetTitle("Informacion")
                                            .SetMessage("El servidor de streaming le permitirara reproducir su contenido previamente descargado desde cualquier navegador de cualquier dispositivo conectado a su misma red. Puede consultar el estado de este en la barra de notificaciones")
                                            .SetPositiveButton("Entendido!", (aa, fff) => { })
                                            .Create()
                                            .Show();
                                        });
                                    }).Start();
                                }
                                else
                                {
                                    RunOnUiThread(() =>
                                    {
                                        dialogo.Dismiss();
                                        Toast.MakeText(this, "Debe tener una conexion a internet para abrir el servicio por primera vez", ToastLength.Long).Show();
                                        toggle2.Checked = false;
                                    });
                                }
                            }
                        }
                        else
                        {
                            RunOnUiThread(() =>
                            {
                                toggle2.Checked = false;
                                Toast.MakeText(this, "Debe tener almenos 1 elemento descargado", ToastLength.Long).Show();
                            });
                        }
                    }).Start();
                }
                else
                {
                    if (serviciostreaming.gettearinstancia() != null)
                    {
                        StopService(new Intent(this, typeof(serviciostreaming)));
                    }
                    toggle2.Checked = false;
                    abrirserver     = "no";
                }
            };
            botonclearcache.Click += delegate
            {
                AlertDialog.Builder ad = new AlertDialog.Builder(this);
                ad.SetCancelable(false);
                ad.SetTitle("Advertencia");
                ad.SetIcon(Resource.Drawable.alert);
                ad.SetMessage("Limpiar el cache puede provocar cierta realentizacion a la hora de entrar al reproductor offline y tambien volvera a descargar los datos por lo cual necesitara internet ¿¿quiere borrar cache??");
                ad.SetNegativeButton("No", no);
                ad.SetPositiveButton("Si", si);
                ad.Create();
                ad.Show();
            };
            toggle1.Click += delegate
            {
                if (toggle1.Checked == true)
                {
                    ordenalfabeto = "si";
                    Toast.MakeText(this, "Los elementos se organizaran alfabeticamente", ToastLength.Long).Show();
                }
                else
                {
                    ordenalfabeto = "no";
                    Toast.MakeText(this, "Los elementos se por fecha de descarga", ToastLength.Long).Show();
                }
            };
            botonseleccionarcarpeta.Click += async delegate
            {
                SimpleFileDialog sfd = new SimpleFileDialog(this, SimpleFileDialog.FileSelectionMode.FolderChooseRoot);
                klk = await sfd.GetFileOrDirectoryAsync(Android.OS.Environment.ExternalStorageDirectory.AbsolutePath);

                if (probarpath(klk))
                {
                    pathvalido = true;

                    localizacion.Text = klk;
                }
                else
                {
                    Toast.MakeText(this, "Ruta invalida seleccione otra", ToastLength.Short).Show();
                    klk        = localizacion.Text;
                    pathvalido = false;
                }
            };
        }