コード例 #1
0
ファイル: MainActivity.cs プロジェクト: Gr3gorywolf/NeonRom3r
        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);
        }
コード例 #2
0
ファイル: MainActivity.cs プロジェクト: Gr3gorywolf/NeonRom3r
        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);
        }
コード例 #3
0
ファイル: MainActivity.cs プロジェクト: Gr3gorywolf/NeonRom3r
        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);
        }
コード例 #4
0
ファイル: MainActivity.cs プロジェクト: Gr3gorywolf/NeonRom3r
        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);
        }
コード例 #5
0
ファイル: MainActivity.cs プロジェクト: Gr3gorywolf/NeonRom3r
        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);
        }
コード例 #6
0
ファイル: MainActivity.cs プロジェクト: Gr3gorywolf/NeonRom3r
        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);*/
            };
        }