public void cargarconsolas() { listaelementos.Clear(); for (int i = 0; i < listillaxx.Count; i++) { Models.romsinfos modelito = new Models.romsinfos { Name = miselaneousmethods.consolelistformal[i], InfoLink = miselaneousmethods.consolelist[i], Portrait = "android.resource//" + PackageName + "/" + resourceids[i], Region = romcounts[i].ToString() + " Roms" }; listaelementos.Add(modelito); } ; estado = 2; var adaptadolllll = new adaptadorroms(this, listaelementos, idimagen, resourceids); RunOnUiThread(() => { SupportActionBar.Title = "Todas las consolas"; listin.Adapter = adaptadolllll; dialogoprogreso.Dismiss(); SupportActionBar.SetHomeAsUpIndicator(Resource.Drawable.hambur); }); GC.Collect(0); }
public void cargaremuladores() { listaelementos.Clear(); for (int i = 0; i < listillaxx.Count; i++) { Models.romsinfos modelito = new Models.romsinfos { Name = miselaneousmethods.consolelistformal[i], InfoLink = miselaneousmethods.consolelist[i], Portrait = "android.resource//" + PackageName + "/" + resourceids[i] }; if (diccionarioemuladores.ContainsKey(miselaneousmethods.consolelist[i])) { modelito.Region = diccionarioemuladores[miselaneousmethods.consolelist[i]].Count + " Emuladores"; } else { modelito.Region = "0 Emuladores"; } listaelementos.Add(modelito); } ; estado = 3; var adaptadolllll = new adaptadorroms(this, listaelementos, idimagen, resourceids); RunOnUiThread(() => { SupportActionBar.Title = "Todos los emuladores"; listin.Adapter = adaptadolllll; dialogoprogreso.Dismiss(); SupportActionBar.SetHomeAsUpIndicator(Resource.Drawable.hambur); }); GC.Collect(0); }
public void cargaremulador(int console) { RunOnUiThread(() => { searchview.SetQuery("", true); SupportActionBar.Title = miselaneousmethods.consolelistformal[console]; }); try { Glide.Get(this).ClearMemory(); } catch { } listaelementos.Clear(); setdialog("Cargando lista de emuladores", "Por favor espere..."); foreach (var ax in diccionarioemuladores[miselaneousmethods.consolelist[console]]) { Models.romsinfos modelito = new Models.romsinfos { Name = ax.nombre, InfoLink = ax.link, Portrait = ax.imagen, Region = ax.compactible }; /* if (modelito.InfoLink.Contains("https://play.google.com/store/apps/details?id=")) * {*/ try { if (miselaneousmethods.existepaquete(this, modelito.InfoLink.Split('=')[1])) { modelito.Region += " - instalado"; } } catch (Exception) { } // } listaelementos.Add(modelito); modelito = new Models.romsinfos(); } estado = 4; idimagen = resourceids[console]; /// listaelementos = listaelementos.OrderBy(c => c.nombre).ToList(); var adaptadolllll = new adaptadorroms(this, listaelementos, resourceids[console]); RunOnUiThread(() => { listin.Adapter = adaptadolllll; dialogoprogreso.Dismiss(); SupportActionBar.SetHomeAsUpIndicator(Resource.Drawable.home); }); GC.Collect(0); }
public void cargarrutas() { try { var rutas = JsonConvert.DeserializeObject <Dictionary <string, string> >(File.ReadAllText(miselaneousmethods.cachepath + "/paths.json")); listaelementos.Clear(); for (int i = 0; i < listillaxx.Count; i++) { Models.romsinfos modelito = new Models.romsinfos { Name = miselaneousmethods.consolelistformal[i], InfoLink = miselaneousmethods.consolelist[i], Portrait = "android.resource//" + PackageName + "/" + resourceids[i], Region = rutas[miselaneousmethods.consolelist[i]] }; listaelementos.Add(modelito); } ; estado = 5; var adaptadolllll = new adaptadorroms(this, listaelementos, idimagen, resourceids); RunOnUiThread(() => { SupportActionBar.Title = "Carpetas de descargas"; listin.Adapter = adaptadolllll; dialogoprogreso.Dismiss(); SupportActionBar.SetHomeAsUpIndicator(Resource.Drawable.hambur); }); } catch (Exception) { Dictionary <string, string> dic = new Dictionary <string, string>(); string downloadpath = System.IO.Path.Combine(Android.OS.Environment.ExternalStorageDirectory.AbsolutePath, Android.OS.Environment.DirectoryDownloads); foreach (var axd in miselaneousmethods.consolelist) { dic.Add(axd, downloadpath); } if (!Directory.Exists(directoriocache)) { Directory.CreateDirectory(directoriocache); } var xdd = File.CreateText(directoriocache + "/paths.json"); xdd.Write(JsonConvert.SerializeObject(dic)); xdd.Close(); cargarrutas(); } GC.Collect(0); }
public void cargarconsola(int console) { RunOnUiThread(() => { searchview.SetQuery("", true); SupportActionBar.Title = miselaneousmethods.consolelistformal[console]; }); try { Glide.Get(this).ClearMemory(); } catch {} listaelementos.Clear(); setdialog("Cargando roms", "Por favor espere..."); var todo = ""; todo = listillaxx[console]; listaelementos = JsonConvert.DeserializeObject <List <Models.romsinfos> >(todo); //////0-roms search //////1-rom downloads //////2-romselection estado = 0; todo = ""; idimagen = resourceids[console]; listaelementos = listaelementos.OrderBy(c => c.Name).ToList(); var adaptadolllll = new adaptadorroms(this, listaelementos, resourceids[console]); RunOnUiThread(() => { listin.Adapter = adaptadolllll; dialogoprogreso.Dismiss(); SupportActionBar.SetHomeAsUpIndicator(Resource.Drawable.home); if (romcounts[selectedconsole] >= 500) { Toast.MakeText(this, "Busqueda dinamica deshabilitada. Pulse enter para la busqueda", ToastLength.Long).Show(); } }); GC.Collect(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);*/ }; }