Ejemplo n.º 1
0
        public void cargardesdecache()
        {
            try
            {
                if (File.Exists(Android.OS.Environment.ExternalStorageDirectory + "/.gr3cache/webbrowser/cachesito.gr3"))
                {
                    listaimagen.Clear();
                    nombreses.Clear();
                    imageneses.Clear();
                    linkeses.Clear();
                    duracioneses.Clear();
                    var asdsa = File.ReadAllText(Android.OS.Environment.ExternalStorageDirectory + "/.gr3cache/webbrowser/cachesito.gr3");

                    nombreses    = asdsa.Split('²')[0].Split('¹').ToList();
                    linkeses     = asdsa.Split('²')[1].Split('¹').ToList();
                    duracioneses = asdsa.Split('²')[3].Split('¹').ToList();
                    adapterlistaremoto adaltel = new adapterlistaremoto(this, nombreses, linkeses, null);
                    RunOnUiThread(() => listabuscador.Adapter = adaltel);
                    if (nombreses.Count == 0)
                    {
                        var adaptadolo = new ArrayAdapter <string>(this, Android.Resource.Layout.SimpleListItem1, new List <string> {
                            "No hay elementos para mostrar.."
                        });
                        RunOnUiThread(() => listabuscador.Adapter = adaptadolo);
                    }
                }
            }
            catch (Exception)
            {
            }
        }
        public void remover()
        {
            while (scanedips != forscan)
            {
            }
            RunOnUiThread(() => dialogoprogreso.Dismiss());

            List <string> presentacion = new List <string>();
            List <string> dummylist    = new List <string>();

            foreach (var ax in misips)
            {
                try
                {
                    if (mode.Ips[ax] == "")
                    {
                        presentacion.Add(ax);
                    }
                    else
                    {
                        presentacion.Add(mode.Ips[ax]);
                    }
                    dummylist.Add("=dummyxcfdfd");
                }
                catch (Exception) { };
            }

            RunOnUiThread(() =>
            {
                var adal = new adapterlistaremoto(this, presentacion, dummylist, null, Resource.Drawable.accesspoint);


                RunOnUiThread(() => {
                    var parcelable         = listaelementos.OnSaveInstanceState();
                    listaelementos.Adapter = adal;
                    listaelementos.OnRestoreInstanceState(parcelable);
                });
                if (misips.Count == 0)
                {
                    var adaptadolss = new ArrayAdapter <string>(this, Android.Resource.Layout.SimpleListItem1, new List <string> {
                        "No hay dispositivos disponibles para conectar.."
                    });
                    RunOnUiThread(() => {
                        var parcelable = listaelementos.OnSaveInstanceState();

                        listaelementos.Adapter = adaptadolss;
                        listaelementos.OnRestoreInstanceState(parcelable);
                    });
                }
                if (misips.Count >= 1)
                {
                    RunOnUiThread(() =>
                    {
                        listaelementos.Visibility = ViewStates.Visible;
                    });
                }
            });
        }
        public void llenarlistas()
        {
            var jsonremoto = Mainmenu.gettearinstancia().jsonlistasremotas;

            if (jsonremoto.Trim().Length > 0)
            {
                listasremotas = JsonConvert.DeserializeObject <List <PlayList> >(jsonremoto);
            }



            if (System.IO.Directory.Exists(Android.OS.Environment.ExternalStorageDirectory.AbsolutePath + "/gr3playerplaylist/"))
            {
                string[] items = Directory.GetFiles(Android.OS.Environment.ExternalStorageDirectory.AbsolutePath + "/gr3playerplaylist/");

                foreach (var elementos in items)
                {
                    var elementolista = new PlayList();
                    elementolista.Name = System.IO.Path.GetFileNameWithoutExtension(elementos);
                    var text = File.ReadAllText(elementos).Trim();
                    try
                    {
                        elementolista.Portrait = text.Split('$')[1].Split(';')[0];
                    }
                    catch (Exception)
                    {
                        elementolista.Portrait = "";
                    }
                    elementolista.MediaElements = new List <PlaylistElement>();
                    listaslocales.Add(elementolista);
                }
            }


            if (listaslocales.Count > 0)
            {
                var adap = new adapterlistaremoto(this, listaslocales.Select(asd => asd.Name).ToList(), listaslocales.Select(asd => asd.Portrait).ToList());
                RunOnUiThread(() => {
                    var parcelable = lista.OnSaveInstanceState();
                    lista.Adapter  = adap;
                    lista.OnRestoreInstanceState(parcelable);
                });
            }
            else
            {
                var adaptadol = new ArrayAdapter <string>(this, Android.Resource.Layout.SimpleListItem1, new List <string> {
                    "No hay elementos para mostrar.."
                });
                RunOnUiThread(() => {
                    var parcelable = lista.OnSaveInstanceState();
                    lista.Adapter  = adaptadol;
                    lista.OnRestoreInstanceState(parcelable);
                });
            }
        }
        public void llenarlista()
        {
            elementos.Clear();
            try
            {
                string[]      items      = Directory.GetFiles(Android.OS.Environment.ExternalStorageDirectory.AbsolutePath + "/gr3playerplaylist/");
                List <string> imagenames = new List <string>();
                elementoscompletos = items.ToList();

                for (int i = 0; i < items.Length; i++)

                {
                    elementos.Add(Path.GetFileNameWithoutExtension(items[i]));
                    var textofile = File.ReadAllText(items[i]).Trim();
                    if (textofile.Trim().Length > 4)
                    {
                        imagenames.Add(textofile.Split('$')[1].Split(';')[0]);
                    }
                    else
                    {
                        imagenames.Add("");
                    }
                    textofile = "";
                }

                if (elementos.Count == 0)
                {
                    var adaptadol = new ArrayAdapter <string>(this, Android.Resource.Layout.SimpleListItem1, new List <string> {
                        "No hay elementos para mostrar.."
                    });
                    RunOnUiThread(() =>
                    {
                        var parcelable  = listbox.OnSaveInstanceState();
                        listbox.Adapter = adaptadol;
                        listbox.OnRestoreInstanceState(parcelable);
                    }
                                  );
                }
                else
                {
                    adapterlistaremoto adaptador = new adapterlistaremoto(this, elementos.ToList(), imagenames);
                    RunOnUiThread(() => {
                        var parcelable  = listbox.OnSaveInstanceState();
                        listbox.Adapter = adaptador;
                        listbox.OnRestoreInstanceState(parcelable);
                    });
                }
            }
            catch (Exception)
            {
                Directory.CreateDirectory(Android.OS.Environment.ExternalStorageDirectory.AbsolutePath + "/gr3playerplaylist");
                llenarlista();
            }
        }
Ejemplo n.º 5
0
        public void receptor()
        {
            while (detenedor)
            {
                if (mainmenu_Offline.gettearinstancia().listacaratulas.Except(lapara).ToList().Count > 0)
                {
                    lapara     = mainmenu_Offline.gettearinstancia().listacaratulas;
                    laparalink = mainmenu_Offline.gettearinstancia().laparalinks;

                    var adaptadol = new adapterlistaremoto(this, lapara, laparalink, mainmenu_Offline.gettearinstancia().linkactual);

                    RunOnUiThread(() => listaa.Adapter = adaptadol);
                    if (lapara.Count == 0)
                    {
                        var adaptadolllll = new ArrayAdapter <string>(this, Android.Resource.Layout.SimpleListItem1, new List <string> {
                            "No hay elementos para mostrar.."
                        });
                        RunOnUiThread(() => listaa.Adapter = adaptadolllll);
                    }



                    /*    RunOnUiThread(()=>  listaa.Adapter = adaptadol);
                     *    new Thread(() => {
                     *        foreach(string perro in lapara)
                     *        {
                     *        if (perro.StartsWith(">") && perro.EndsWith("<"))
                     *        {
                     *            if (indiceactual != lapara.IndexOf(perro) || ( indiceactual==0 && lapara.IndexOf(perro)==0 && !video.IsPlaying)) {
                     *                indiceactual = lapara.IndexOf(perro);
                     *                linkactual = laparalink[indiceactual];
                     *                buscaryreproducir();
                     *                }
                     *            }
                     *        }
                     *        }
                     *     ).Start();
                     */

                    RunOnUiThread(() => ll1.BringToFront());
                }
                Thread.Sleep(5000);
            }
        }
Ejemplo n.º 6
0
        public void enthread()
        {
            try
            {
                imageneses.Clear();


                if (!buscando)
                {
                    var asdd = listabuscador.FirstVisiblePosition;
                    adapterlistaremoto adaltel = new adapterlistaremoto(this, nombreses, linkeses, null);
                    RunOnUiThread(() => listabuscador.Adapter = adaltel);
                    RunOnUiThread(() => listabuscador.SetSelection(asdd));
                    if (File.Exists(Android.OS.Environment.ExternalStorageDirectory + "/.gr3cache/webbrowser/cachesito.gr3"))
                    {
                        File.Delete(Android.OS.Environment.ExternalStorageDirectory + "/.gr3cache/webbrowser/cachesito.gr3");
                    }
                    var ee = File.CreateText(Android.OS.Environment.ExternalStorageDirectory + "/.gr3cache/webbrowser/cachesito.gr3");

                    string todosnombres    = String.Join("¹", nombreses.ToArray());
                    string todoslinks      = string.Join("¹", linkeses.ToArray());
                    string todasduraciones = string.Join("¹", duracioneses.ToArray());
                    ee.Write(todosnombres + "²" + todoslinks + "²" + todoslinks + "²" + todasduraciones);
                    ee.Close();
                }
            }


            catch (Exception)
            {
                var asdd = listabuscador.FirstVisiblePosition;
                adapterlistaremoto adaltel = new adapterlistaremoto(this, nombreses, linkeses, null);
                RunOnUiThread(() => listabuscador.Adapter = adaltel);
                RunOnUiThread(() => listabuscador.SetSelection(asdd));
            }
        }
Ejemplo n.º 7
0
        public void cojerstream()
        {
            while (!this.IsDestroyed)
            {
                if (YoutubePlayerServerActivity.gettearinstancia() != null)
                {
                    if (YoutubePlayerServerActivity.gettearinstancia().buscando != true)
                    {
                        if (YoutubePlayerServerActivity.gettearinstancia().tvTitle.Text != textboxtitulo.Text &&
                            YoutubePlayerServerActivity.gettearinstancia().tvTitle.Text.Trim() != "")
                        {
                            RunOnUiThread(() => textboxtitulo.Text = YoutubePlayerServerActivity.gettearinstancia().tvTitle.Text);
                        }
                    }
                    else
                    {
                        RunOnUiThread(() => textboxtitulo.Text = "Buscando...");
                    }

                    if (textboxtitulo.Text.Trim() == "" && textboxtitulo.Text.Trim() != "No hay elementos en cola")
                    {
                        RunOnUiThread(() => { textboxtitulo.Text = "No hay elementos en cola"; });
                    }



                    if (YoutubePlayerServerActivity.gettearinstancia().clienteses.Count > 0)
                    {
                        try
                        {
                            var dummynames = YoutubePlayerServerActivity.gettearinstancia()
                                             .clienteses.Select(ax => ((IPEndPoint)ax.Client.RemoteEndPoint).Address.ToString())
                                             .Where(aax => aax != YoutubePlayerServerActivity.gettearinstancia().ipAddress.Trim()).Distinct()
                                             .ToList();
                            var dummylinks = dummynames.Select(ax => ax + "=sdss").ToList();

                            RunOnUiThread(() =>
                            {
                                if (dummynames.Count != countold)
                                {
                                    countold = dummynames.Count;
                                    adapterlistaremoto ada = new adapterlistaremoto(this, dummynames, dummylinks, null, Resource.Drawable.remotecontrolbuttons);

                                    var parcelable = lista.OnSaveInstanceState();
                                    lista.Adapter  = ada;
                                    lista.OnRestoreInstanceState(parcelable);
                                }
                            });
                        }
                        catch (Exception) { }
                    }
                    else
                    {
                        RunOnUiThread(() => {
                            var adaptadol = new ArrayAdapter <string>(this, Android.Resource.Layout.SimpleListItem1, new List <string> {
                                "No hay dispositivos conectados.."
                            });

                            var parcelable = lista.OnSaveInstanceState();
                            lista.Adapter  = adaptadol;
                            lista.OnRestoreInstanceState(parcelable);
                        });
                    }
                }
                else
                if (Mainmenu.gettearinstancia() != null)
                {
                    if (Mainmenu.gettearinstancia().label.Text != textboxtitulo.Text)
                    {
                        RunOnUiThread(() => textboxtitulo.Text = Mainmenu.gettearinstancia().label.Text);
                    }
                }
                else
                {
                }


                Thread.Sleep(1000);
            }
        }
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);
            SetContentView(Resource.Layout.Reproducirlista);
            inst = this;
            //////////////////////////////declaraciones//////////////////////////////////

            parador    = true;
            playpause  = FindViewById <ImageView>(Resource.Id.imageView2);
            lista      = FindViewById <ListView>(Resource.Id.listView1);
            volverhome = FindViewById <ImageView>(Resource.Id.imageView1);
            textbox    = FindViewById <TextView>(Resource.Id.textView1);
            background = FindViewById <LinearLayout>(Resource.Id.LinearLayout0);
            barra      = FindViewById <LinearLayout>(Resource.Id.linearLayout2);
            tl         = FindViewById <Android.Support.Design.Widget.TabLayout>(Resource.Id.tabs);

            tl.AddTab(tl.NewTab().SetText("Local"));
            tl.AddTab(tl.NewTab().SetText("Remoto"));
            //////////////////////////////////////////////////////////////////////////////
            /////////////////////////////miselaneo+conexion//////////////////////////////


            //  barra.SetBackgroundColor(Android.Graphics.Color.Black);


            new Thread(() => cojerstream()).Start();
            new Thread(() => llenarlistas()).Start();
            textbox.Selected = true;

            /*  var adaptadolo = new ArrayAdapter<string>(this, Android.Resource.Layout.SimpleListItem1, new List<string> { "No hay elementos para mostrar.." });
             * RunOnUiThread(() => lista.Adapter = adaptadolo);*/
            //////////////////////////////////////////////////////////////////////////////
            ////////////////////////////Eventos//////////////////////////////////////////
            // barra.SetBackgroundColor(Android.Graphics.Color.ParseColor("#2b2e30"));

            playpause.Click += delegate
            {
                Mainmenu.gettearinstancia().clientela.Client.Send(Encoding.Default.GetBytes("playpause()"));
            };
            volverhome.Click += delegate
            {
                Finish();
                MultiHelper.ExecuteGarbageCollection();
            };
            tl.TabSelected += (aa, sss) =>
            {
                new Thread(() =>
                {
                    if (sss.Tab.Text == "Local")
                    {
                        query = "Fromremote";



                        if (listaslocales.Count > 0)
                        {
                            var adap = new adapterlistaremoto(this, listaslocales.Select(asd => asd.Name).ToList(), listaslocales.Select(asd => asd.Portrait).ToList());
                            RunOnUiThread(() =>
                            {
                                var parcelable = lista.OnSaveInstanceState();
                                lista.Adapter  = adap;
                                lista.OnRestoreInstanceState(parcelable);
                            });
                        }
                        else
                        {
                            var adaptadol = new ArrayAdapter <string>(this, Android.Resource.Layout.SimpleListItem1, new List <string> {
                                "No hay elementos para mostrar.."
                            });
                            RunOnUiThread(() =>
                            {
                                var parcelable = lista.OnSaveInstanceState();
                                lista.Adapter  = adaptadol;
                                lista.OnRestoreInstanceState(parcelable);
                            });
                        }
                    }
                    else
                    {
                        query = "Fromlocal";
                        if (listasremotas.Count > 0)
                        {
                            var adap = new adapterlistaremoto(this, listasremotas.Select(asd => asd.Name).ToList(), listasremotas.Select(asd => asd.Portrait).ToList());
                            RunOnUiThread(() =>
                            {
                                var parcelable = lista.OnSaveInstanceState();
                                lista.Adapter  = adap;
                                lista.OnRestoreInstanceState(parcelable);
                            });
                        }
                        else
                        {
                            var adaptadol = new ArrayAdapter <string>(this, Android.Resource.Layout.SimpleListItem1, new List <string> {
                                "No hay elementos para mostrar.."
                            });
                            RunOnUiThread(() =>
                            {
                                var parcelable = lista.OnSaveInstanceState();
                                lista.Adapter  = adaptadol;
                                lista.OnRestoreInstanceState(parcelable);
                            });
                        }
                    }
                }).Start();
            };

            lista.ItemClick += (sender, args) =>
            {
                playlistidx = args.Position;

                Intent intento = new Intent(this, typeof(dialogolistasact));
                if (query == "Fromremote" && listaslocales.Count > 0)
                {
                    if (listaslocales[playlistidx].Portrait.Trim() != "")
                    {
                        intento.PutExtra("nombrelista", listaslocales[playlistidx].Name);
                        intento.PutExtra("portada", listaslocales[playlistidx].Portrait);
                        intento.PutExtra("querry", query);

                        StartActivity(intento);
                    }
                    else
                    {
                        Toast.MakeText(this, "La lista esta vacia", ToastLength.Long).Show();
                    }
                }
                else

                {
                    if (listasremotas.Count > 0)
                    {
                        if (listasremotas[playlistidx].MediaElements.Count > 0)
                        {
                            intento.PutExtra("nombrelista", listasremotas[playlistidx].Name);
                            intento.PutExtra("portada", listasremotas[playlistidx].Portrait);
                            intento.PutExtra("querry", query);
                            StartActivity(intento);
                        }
                        else
                        {
                            Toast.MakeText(this, "La lista esta vacia", ToastLength.Long).Show();
                        }
                    }

                    /*    mainmenu.gettearinstancia()
                     * .clientelalistas
                     * .Client
                     * .Send(Encoding
                     * .UTF8
                     * .GetBytes("Sendplaylist__==__==__" + JsonConvert.SerializeObject(listasremotas[playlistidx])));*/
                }


                /*   AlertDialog.Builder ad = new AlertDialog.Builder(this);
                 * ad.SetCancelable(false);
                 * ad.SetTitle("Advertencia");
                 * ad.SetMessage("Desea reproducir esta lista de reproduccio en el dispositivo servidor??");
                 *  ad.SetIcon(Resource.Drawable.warningsignonatriangularbackground);
                 * posicion = args.Position;
                 * ad.SetPositiveButton("Si", ok);
                 * ad.SetNegativeButton("No", no);
                 * ad.Create();
                 * ad.Show();*/
            };



            // Create your application here
        }
        public void buscaryabrir(string termino)
        {
            RunOnUiThread(() =>
            {
#pragma warning disable CS0618 // El tipo o el miembro est�n obsoletos
                alerta = new ProgressDialog(this);
#pragma warning restore CS0618 // El tipo o el miembro est�n obsoletos
#pragma warning restore CS0618 // El tipo o el miembro est�n obsoletos
                alerta.SetCanceledOnTouchOutside(false);
                alerta.SetCancelable(false);
                alerta.SetTitle("Buscando resultados...");
                alerta.SetMessage("Por favor espere");
                alerta.Show();
            });
            try
            {
                //  RunOnUiThread(() => progreso.Progress = 50);
                VideoSearch src     = new VideoSearch();
                var         results = src.SearchQuery(termino, 1);
                if (results.Count > 0)
                {
                    var listatitulos = results.Select(ax => WebUtility.HtmlDecode(RemoveIllegalPathCharacters(ax.Title.Replace("&quot;", "").Replace("&amp;", "")))).ToList();
                    var listalinks   = results.Select(ax => ax.Url).ToList();
                    RunOnUiThread(() =>
                    {
                        ListView lista   = new ListView(this);
                        lista.ItemClick += (o, e) =>
                        {
                            var posicion    = 0;
                            posicion        = e.Position;
                            Intent intentoo = new Intent(this, typeof(customdialogact));

                            intentoo.PutExtra("index", posicion.ToString());
                            intentoo.PutExtra("color", "DarkGray");
                            intentoo.PutExtra("titulo", listatitulos[posicion]);
                            if (!isserver)
                            {
                                intentoo.PutExtra("ipadress", Mainmenu.gettearinstancia().ip);
                            }
                            else
                            {
                                intentoo.PutExtra("ipadress", "localhost");
                            }

                            intentoo.PutExtra("url", listalinks[posicion]);
                            intentoo.PutExtra("imagen", @"https://i.ytimg.com/vi/" + listalinks[posicion].Split('=')[1] + "/mqdefault.jpg");
                            StartActivity(intentoo);
                        };
                        adapterlistaremoto adapt = new adapterlistaremoto(this, listatitulos, listalinks);
                        lista.Adapter            = adapt;

                        new Android.App.AlertDialog.Builder(this)
                        .SetTitle("Resultados de la busqueda")
                        .SetView(lista).SetPositiveButton("Cerrar", (dd, fgf) => { })
                        .Create()
                        .Show();
                    });
                }
                RunOnUiThread(() =>
                {
                    alerta.Dismiss();
                });
            }
            catch (Exception)
            {
                RunOnUiThread(() => Toast.MakeText(this, "No se encotraron resultados", ToastLength.Long).Show());
                alerta.Dismiss();
            }
        }
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);
            SetContentView(Resource.Layout.dialogolistas);
            var          inst            = Reproducirlistaact.gettearinstancia();
            ImageView    fondo           = FindViewById <ImageView>(Resource.Id.fondo1);
            ImageView    imgaccion       = FindViewById <ImageView>(Resource.Id.imagenaccion);
            TextView     textoaccion     = FindViewById <TextView>(Resource.Id.textView3);
            TextView     textoheader     = FindViewById <TextView>(Resource.Id.textView1);
            LinearLayout botonreproducir = FindViewById <LinearLayout>(Resource.Id.imageView3);
            LinearLayout botonaccion     = FindViewById <LinearLayout>(Resource.Id.imageView2);
            LinearLayout botoninfo       = FindViewById <LinearLayout>(Resource.Id.imageView5);

            this.SetFinishOnTouchOutside(true);
            textoheader.Text = Intent.GetStringExtra("nombrelista");
            Glide.With(this)
            .Load("http://i.ytimg.com/vi/" + Intent.GetStringExtra("portada").Split('=')[1] + "/mqdefault.jpg")
            .Into(fondo);
            var query = Intent.GetStringExtra("querry");

            if (query == "Fromlocal")
            {
                imgaccion.SetBackgroundResource(Resource.Drawable.downloadbutton);
                textoaccion.Text = "Guardar lista";
            }
            else
            {
                imgaccion.SetBackgroundResource(Resource.Drawable.upload);
                textoaccion.Text = "Enviar lista";
            }
            var arch    = File.ReadAllText(Android.OS.Environment.ExternalStorageDirectory.AbsolutePath + "/gr3playerplaylist/" + inst.listaslocales[inst.playlistidx].Name);
            var counter = arch.Split('$')[1].Split(';').ToList();

            if (counter.Count > 0)
            {
                if (counter[0].Trim() == "")
                {
                    this.Finish();
                    Toast.MakeText(this, "La lista esta vacia", ToastLength.Long).Show();
                }
            }
            else
            {
                this.Finish();
                Toast.MakeText(this, "La lista esta vacia", ToastLength.Long).Show();
            }
            botonaccion.Click += delegate
            {
                new Thread(() =>
                {
                    if (query == "Fromlocal")
                    {
                        Mainmenu.gettearinstancia().playlistreceived = false;
                        RunOnUiThread(() =>
                        {
                            new Android.Support.V7.App.AlertDialog.Builder(this)
                            .SetTitle("Advertencia")
                            .SetMessage("Desea guardar la lista de reproduccion remota: " + Intent.GetStringExtra("nombrelista") + "??\n NOTA:\nSi hay una lista con este mismo nombre sera sustituida por esta")
                            .SetPositiveButton("Si", (aa, aaa) =>
                            {
                                new Thread(() =>
                                {
                                    var elementos = inst.listasremotas[inst.playlistidx];
                                    var nombreses = string.Join(";", elementos.MediaElements.Select(axx => axx.Name).ToArray()) + ";";
                                    var linkeses  = string.Join(";", elementos.MediaElements.Select(axx => axx.Link).ToArray()) + ";";
                                    var archi     = File.CreateText(Android.OS.Environment.ExternalStorageDirectory.AbsolutePath + "/gr3playerplaylist/" + Intent.GetStringExtra("nombrelista"));
                                    archi.Write(nombreses + "$" + linkeses);
                                    archi.Close();
                                    RunOnUiThread(() => Toast.MakeText(this, "Lista guardada exitosamente", ToastLength.Long).Show());
                                }).Start();
                            })
                            .SetNegativeButton("No", (aa, ff) => { })
                            .Create()
                            .Show();
                        });
                    }
                    else
                    {
                        var listilla  = new List <PlaylistElement>();
                        var texto     = File.ReadAllText(Android.OS.Environment.ExternalStorageDirectory.AbsolutePath + "/gr3playerplaylist/" + inst.listaslocales[inst.playlistidx].Name);
                        var nombreses = texto.Split('$')[0].Split(';').ToList();
                        var links     = texto.Split('$')[1].Split(';').ToList();

                        var listaelementos = new List <PlaylistElement>();
                        for (int i = 0; i < nombreses.Count; i++)
                        {
                            if (nombreses[i].Trim() != "" && links[i].Trim() != "")
                            {
                                var elemento = new PlaylistElement()
                                {
                                    Name = nombreses[i],
                                    Link = links[i]
                                };
                                listaelementos.Add(elemento);
                            }
                        }
                        inst.listaslocales[inst.playlistidx].MediaElements = listaelementos;
                        Mainmenu.gettearinstancia()
                        .clientelalistas
                        .Client
                        .Send(Encoding.UTF8.GetBytes("Receive__==__==__" + JsonConvert.SerializeObject(inst.listaslocales[inst.playlistidx])));
                        RunOnUiThread(() => Toast.MakeText(this, "Lista enviada exitosamente", ToastLength.Long).Show());



                        RunOnUiThread(() => this.Finish());
                    }
                }).Start();
            };

            botoninfo.Click += delegate
            {
                new Thread(() =>
                {
                    if (query == "Fromremote")
                    {
                        if (inst.listaslocales.Count > 0)
                        {
                            var listilla  = new List <PlaylistElement>();
                            var texto     = File.ReadAllText(Android.OS.Environment.ExternalStorageDirectory.AbsolutePath + "/gr3playerplaylist/" + inst.listaslocales[inst.playlistidx].Name);
                            var nombreses = texto.Split('$')[0].Split(';').ToList();
                            var links     = texto.Split('$')[1].Split(';').ToList();

                            var listaelementos = new List <PlaylistElement>();
                            for (int i = 0; i < nombreses.Count; i++)
                            {
                                if (nombreses[i].Trim() != "" || links[i].Trim() != "")
                                {
                                    var elemento = new PlaylistElement()
                                    {
                                        Name = nombreses[i],
                                        Link = links[i]
                                    };
                                    listaelementos.Add(elemento);
                                }
                            }
                            RunOnUiThread(() =>
                            {
                                ListView lista           = new ListView(this);
                                adapterlistaremoto adapt = new adapterlistaremoto(this, listaelementos.Select(ax => ax.Name).ToList(), listaelementos.Select(ax => ax.Link).ToList());
                                lista.Adapter            = adapt;

                                new AlertDialog.Builder(this)
                                .SetTitle("Elementos de esta lista de reproducción")
                                .SetView(lista).SetPositiveButton("Entendido!", (dd, fgf) => { })
                                .Create()
                                .Show();
                            });
                        }
                    }
                    else
                    {
                        var elementos = inst.listasremotas[inst.playlistidx];
                        RunOnUiThread(() =>
                        {
                            ListView lista           = new ListView(this);
                            adapterlistaremoto adapt = new adapterlistaremoto(this, elementos.MediaElements.Select(ax => ax.Name).ToList(), elementos.MediaElements.Select(ax => ax.Link).ToList());
                            lista.Adapter            = adapt;
                            new AlertDialog.Builder(this)
                            .SetTitle("Elementos de esta lista de reproducción")
                            .SetView(lista).SetPositiveButton("Entendido!", (dd, fgf) => { })
                            .Create()
                            .Show();
                        });
                    }
                }).Start();
            };

            botonreproducir.Click += delegate {
                if (query == "Fromremote")
                {
                    if (inst.listaslocales.Count > 0)
                    {
                        var listilla  = new List <PlaylistElement>();
                        var texto     = File.ReadAllText(Android.OS.Environment.ExternalStorageDirectory.AbsolutePath + "/gr3playerplaylist/" + inst.listaslocales[inst.playlistidx].Name);
                        var nombreses = texto.Split('$')[0].Split(';').ToList();
                        var links     = texto.Split('$')[1].Split(';').ToList();

                        var listaelementos = new List <PlaylistElement>();
                        for (int i = 0; i < nombreses.Count; i++)
                        {
                            if (nombreses[i].Trim() != "" && links[i].Trim() != "")
                            {
                                var elemento = new PlaylistElement()
                                {
                                    Name = nombreses[i],
                                    Link = links[i]
                                };
                                listaelementos.Add(elemento);
                            }
                        }
                        inst.listaslocales[inst.playlistidx].MediaElements = listaelementos;
                        Mainmenu.gettearinstancia()
                        .clientelalistas
                        .Client
                        .Send(Encoding.UTF8.GetBytes(query + "__==__==__" + JsonConvert.SerializeObject(inst.listaslocales[inst.playlistidx])));
                    }
                    else
                    {
                        Toast.MakeText(this, "No hay listas de reproduccion", ToastLength.Long).Show();
                    }
                }
                else
                {
                    if (inst.listasremotas.Count > 0)
                    {
                        Mainmenu.gettearinstancia()
                        .clientelalistas
                        .Client
                        .Send(Encoding.UTF8.GetBytes(query + "__==__==__" + JsonConvert.SerializeObject(inst.listasremotas[inst.playlistidx])));
                    }
                    else
                    {
                        Toast.MakeText(this, "La lista esta vacia", ToastLength.Long).Show();
                    }
                }



                this.Finish();
            };



            // Create your application here
        }