using System; using System.Collections.Generic; using HDL_ON.Entity; using HDL_ON.UI.CSS; using Shared; namespace HDL_ON.UI { public class DeviceListPage : FrameLayout { FrameLayout bodyView; VerticalRefreshLayout contentView; IntegratedBrand brand; public DeviceListPage(IntegratedBrand integratedBrand) { bodyView = this; brand = integratedBrand; } public void LoadPage() { new TopViewDiv(bodyView, Language.StringByID(StringId.AddDevice)).LoadTopView(); bodyView.BackgroundColor = CSS_Color.BackgroundColor; contentView = new VerticalRefreshLayout() { Y = Application.GetRealHeight(64), Height = Application.GetRealHeight(667 - 64), VerticalScrollBarEnabled = false, }; bodyView.AddChidren(contentView); Load3tyBrandDeviceList(); } void Load3tyBrandDeviceList() { var waitPage = new Loading(); waitPage.Start(); new System.Threading.Thread(() => { try { var pm = new DAL.Server.HttpServerRequest(); var pack = pm.Get3TyBrandBindDeviceList(brand.productPlatform, brand.productBrand); if (pack.Code == DAL.Server.StateCode.SUCCESS) { var revData = Newtonsoft.Json.JsonConvert.DeserializeObject(pack.Data.ToString()); Application.RunOnMainThread(() => { LoadRow(revData.list); }); } } catch (Exception ex) { MainPage.Log("1--::" + ex.Message); } finally { Application.RunOnMainThread(() => { waitPage.Hide(); }); } }) { IsBackground = true }.Start(); } void LoadRow(List deviceList) { deviceList.Add(new Function() { name ="测试红外宝",spk = SPK.IrModule}); contentView.RemoveAll(); bool isFrist = true; foreach (var device in deviceList) { FrameLayout row = new FrameLayout() { Height = Application.GetRealHeight(50), BackgroundColor = CSS_Color.MainBackgroundColor, }; contentView.AddChidren(row); if (isFrist) { isFrist = false; } else { Button btnLine = new Button() { X = Application.GetRealWidth(56), Width = Application.GetRealWidth(303), Height = 1, BackgroundColor = CSS_Color.DividingLineColor, }; row.AddChidren(btnLine); } var btnIcon = new Button() { X = Application.GetRealWidth(12), Gravity = Gravity.CenterVertical, Width = Application.GetRealWidth(32), Height = Application.GetRealWidth(32), Radius = (uint)Application.GetRealWidth(4), UnSelectedImagePath = $"FunctionIcon/Icon/{device.spk.Replace(".", "")}.png", }; row.AddChidren(btnIcon); Button btnRight = new Button() { X = Application.GetRealWidth(339), Gravity = Gravity.CenterVertical, Width = Application.GetMinRealAverage(16), Height = Application.GetMinRealAverage(16), UnSelectedImagePath = "Public/Right.png", }; row.AddChidren(btnRight); Button btnName = new Button() { X = Application.GetRealWidth(56), Width = Application.GetRealWidth(303), TextAlignment = TextAlignment.CenterLeft, TextColor = CSS_Color.FirstLevelTitleColor, TextSize = CSS_FontSize.TextFontSize, Text = device.name, }; row.AddChidren(btnName); btnName.MouseUpEventHandler = (sender, e) => { switch (device.spk) { case SPK.IrModule: UI2.PersonalCenter.PirDevice.Method.GetPirDeviceList(this, () => { Application.RunOnMainThread(() => { var page = new UI2.PersonalCenter.PirDevice.PirMain(); MainPage.BasePageView.AddChidren(page); page.Show(); MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; }); }); break; } }; } } } /// /// 云端返回的第三方设备列表数据 /// public class Function3tyBrandObj { public List list = new List(); } }