public void cargardescargas() { /// miselaneousmethods.actualizararchivos(this); /// bool noencontro = false; listaelementos.Clear(); setdialog("Cargando roms", "Por favor espere..."); downloadlinks.Clear(); foreach (var klk in miselaneousmethods.getteardatosregistry()) { Models.romsinfos modelito = new Models.romsinfos { Name = klk.nombre, InfoLink = klk.path, Portrait = miselaneousmethods.imgpath + "/" + klk.nombre + ".jpg", Region = klk.consola }; if (File.Exists(modelito.InfoLink)) { downloadlinks.Add(klk.linkdescarga); listaelementos.Add(modelito); } else { noencontro = true; } } downloadlinks.Reverse(); listaelementos.Reverse(); var adaptadolllll = new adaptadorromsdownloaded(this, listaelementos, Resource.Drawable.download, null, downloadlinks); RunOnUiThread(() => { SupportActionBar.Title = "Roms descargados"; listin.Adapter = adaptadolllll; dialogoprogreso.Dismiss(); }); if (noencontro) { RunOnUiThread(() => { new Android.App.AlertDialog.Builder(this).SetTitle("No se pudieron encontrar algunos roms").SetMessage("Al parecer algunos roms fueron movidos o eliminados de sus rutas originales si desea actualizar sus rutas por favor haga toque escanear").SetCancelable(false).SetNegativeButton("Cancelar", cancell).SetPositiveButton("Escanear", scan).Create().Show(); }); } GC.Collect(0); ///////estatuscodes //////0-roms search //////1-rom downloads //////2-romselection estado = 1; }
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);*/ }; }