New file |
| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using HDL_ON.DAL.Server; |
| | | 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() |
| | | { |
| | | Action<string, string> action = (s, a) => |
| | | { |
| | | var page = new AddDevciePage(brand); |
| | | MainPage.BasePageView.AddChidren(page); |
| | | page.LoadPage(contentView); |
| | | MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; |
| | | }; |
| | | new TopViewDiv(bodyView, Language.StringByID(StringId.Devices)).LoadTopView_AddIcon("3ty", action); |
| | | bodyView.BackgroundColor = CSS_Color.BackgroundColor; |
| | | |
| | | contentView = new VerticalRefreshLayout() |
| | | { |
| | | Y = Application.GetRealHeight(64), |
| | | Height = Application.GetRealHeight(667 - 64), |
| | | VerticalScrollBarEnabled = false, |
| | | }; |
| | | bodyView.AddChidren(contentView); |
| | | |
| | | Load3tyBrandDeviceList(); |
| | | |
| | | contentView.BeginHeaderRefreshingAction = () => |
| | | { |
| | | contentView.EndHeaderRefreshing(); |
| | | Load3tyBrandDeviceList(); |
| | | }; |
| | | |
| | | //contentView.BeginHeaderRefreshing(); |
| | | } |
| | | |
| | | void Load3tyBrandDeviceList() |
| | | { |
| | | var waitPage = new Loading(); |
| | | waitPage.Start(); |
| | | new System.Threading.Thread(() => { |
| | | try |
| | | { |
| | | var pm = new HttpServerRequest(); |
| | | var pack = pm.Get3TyBrandBindDeviceList(brand.productPlatform, brand.productBrand); |
| | | if (pack.Code == DAL.Server.StateCode.SUCCESS) |
| | | { |
| | | var revData = Newtonsoft.Json.JsonConvert.DeserializeObject<Function3tyBrandObj>(pack.Data.ToString()); |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | LoadRow(revData.list); |
| | | }); |
| | | } |
| | | else |
| | | { |
| | | IMessageCommon.Current.ShowErrorInfoAlter(pack.Code); |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | MainPage.Log("1--::" + ex.Message); |
| | | } |
| | | finally |
| | | { |
| | | Application.RunOnMainThread(() => { waitPage.Hide(); }); |
| | | } |
| | | }) |
| | | { IsBackground = true }.Start(); |
| | | } |
| | | |
| | | void LoadRow(List<Function> deviceList) |
| | | { |
| | | contentView.RemoveAll(); |
| | | bool isFrist = true; |
| | | foreach (var device in deviceList) |
| | | { |
| | | //if (!FunctionList.List.DeviceSpk.Contains(device.spk)) |
| | | //{ |
| | | // continue; |
| | | //} |
| | | 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: |
| | | new UI2.PersonalCenter.PirDevice.Method().MainView(this, device,()=> {}); |
| | | break; |
| | | } |
| | | }; |
| | | } |
| | | |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | /// <summary> |
| | | /// 云端返回的第三方设备列表数据 |
| | | /// </summary> |
| | | public class Function3tyBrandObj |
| | | { |
| | | public List<Function> list = new List<Function>(); |
| | | } |
| | | |
| | | } |