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 }
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 }