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<listifon> (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<MouseEventArgs> 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;
|
|
}
|
});
|
}
|
});
|
|
|
|
}
|
}
|
}
|