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 DAL.Server.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>();
|
}
|
|
}
|