using System; using System.Collections.Generic; using System.Text; using Shared; using Shared.SimpleControl.Phone; using Shared.SimpleControl; using Shared.SimpleControl.R; using Newtonsoft.Json.Linq; namespace Shared.SimpleControl.Phone { public class SonosMyList:FrameLayout { public void Show (SonosMusic sonosMusic) { AddChidren (new Button { Height = Application.GetRealHeight (36), BackgroundColor = SkinStyle.Current.MusicTopFrameLayout, }); var topFrameLayout = new FrameLayout { Height = Application.GetRealHeight (90), Y = Application.GetRealHeight (36), BackgroundColor = SkinStyle.Current.MusicTopFrameLayout, }; AddChidren (topFrameLayout); var back = new Button { Width = Application.GetRealWidth (82), Height = Application.GetRealHeight (89), X = Application.GetRealWidth (10), Gravity = Gravity.CenterVertical, UnSelectedImagePath = "MusicIcon/HomepageBack.png", }; topFrameLayout.AddChidren (back); back.MouseDownEventHandler += (sender, e) => { this.RemoveFromParent (); }; var musiclist = new Button { Width = Application.GetRealWidth (200), Height = Application.GetRealHeight (150), TextID = MyInternationalizationString.MusicMylist, TextSize = 15, X = Application.GetRealWidth (200), Gravity = Gravity.CenterVertical, }; topFrameLayout.AddChidren (musiclist); var verticalScrolViewLayout = new VerticalScrolViewLayout { Height = Application.GetRealHeight (Application.DesignHeight - 126), Y = topFrameLayout.Bottom, BackgroundColor = 0xff2F2F2F, }; this.AddChidren (verticalScrolViewLayout); MainPage.Loading.Start (); sonosMusic.SonosMyList.Clear (); System.Threading.Tasks.Task.Run (() => { try { var tempsonosList = SuperGateWay.Control.getsonosMyList (); if (tempsonosList == null) { return; } foreach (var str in tempsonosList) { try { var result = SuperGateWay.Control.getsonosMySongs (str.Replace (".json", "")); if (result != null) { var songlist = Newtonsoft.Json.JsonConvert.DeserializeObject (result); if (songlist != null&&songlist.songitems.Count!=0) { sonosMusic.SonosMyList.Add (songlist); } } } catch { } } } catch { } finally { Application.RunOnMainThread (() => { MainPage.Loading.Hide (); for (int i = 0; i < sonosMusic.SonosMyList.Count; i++) { var rowlist = new RowLayout { Height = Application.GetRealHeight (100), }; verticalScrolViewLayout.AddChidren (rowlist); var listname = new Button { Height = Application.GetRealHeight (100), TextAlignment = TextAlignment.CenterLeft, X = Application.GetRealWidth (30), Gravity = Gravity.CenterVertical, TextColor = SkinStyle.Current.MusicTextColor, Text = sonosMusic.SonosMyList [i].listname, Tag = sonosMusic.SonosMyList [i], }; rowlist.AddChidren (listname); var listback = new Button { Width = Application.GetRealWidth (87), Height = Application.GetRealHeight (100), UnSelectedImagePath = "MusicIcon/Next.png", SelectedImagePath = "MusicIcon/NextSelecte.png", X = Application.GetRealWidth (550), Gravity = Gravity.CenterVertical, }; rowlist.AddChidren (listback); EventHandler clickList = (sender, e) => { MainPage.Loading.Start (Language.StringByID (MyInternationalizationString.load)); System.Threading.Tasks.Task.Run (() => { Application.RunOnMainThread (() => { MainPage.Loading.Hide (); var sonosMyListMusic = new SonosMyListMusic (); MainPage.MainFrameLayout.AddChidren (sonosMyListMusic); sonosMyListMusic.Show (sonosMusic,listname.Tag as listifon,listname.Text ); }); }); }; rowlist.MouseUpEventHandler += clickList; listname.MouseUpEventHandler += clickList; listback.MouseUpEventHandler += clickList; } }); } }); } } }