From eda3fb873e59544ff36301b51e05aef64f87b0f9 Mon Sep 17 00:00:00 2001
From: wei <kaede@kaededeMacBook-Air.local>
Date: 星期五, 27 八月 2021 13:21:21 +0800
Subject: [PATCH] Merge branch 'newBranch1' of http://172.16.1.23:6688/r/~wxr/HDL_APP_Project into newBranch1
---
HDL_ON/UI/UI2/1-HomePage/HomePage.cs | 699 +++++++++++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 567 insertions(+), 132 deletions(-)
diff --git a/HDL_ON/UI/UI2/1-HomePage/HomePage.cs b/HDL_ON/UI/UI2/1-HomePage/HomePage.cs
index 15575da..51e02a0 100644
--- a/HDL_ON/UI/UI2/1-HomePage/HomePage.cs
+++ b/HDL_ON/UI/UI2/1-HomePage/HomePage.cs
@@ -1,7 +1,8 @@
-锘縰sing System;
+锘縰sing System;
using System.Collections.Generic;
using System.Text;
using HDL_ON.DAL;
+using HDL_ON.DriverLayer;
using HDL_ON.Entity;
using HDL_ON.UI.CSS;
using Newtonsoft.Json;
@@ -10,11 +11,13 @@
namespace HDL_ON.UI
{
- public partial class HomePage : FrameLayout
+ public partial class HomePage : VerticalRefreshLayout
{
#region 鎺т欢鍒楄〃
static HomePage bodyView;
+
+ //FrameLayout bodyView;
/// <summary>
/// 椤堕儴淇℃伅鍖哄煙
/// </summary>
@@ -24,6 +27,12 @@
/// </summary>
Button btnLinkStateTip;
/// <summary>
+ /// 瀹夐槻鐘舵�佸浘鏍�
+ /// </summary>
+ Button btnSecurityStatus;
+
+
+ /// <summary>
///浣忓畢鍚嶇О鏄剧ず
/// </summary>
Button btnResidenceName;
@@ -32,17 +41,25 @@
/// </summary>
FrameLayout environmentalView;
/// <summary>
- /// 褰撳墠娓╁害淇℃伅
+ /// 褰撳墠娓╁害淇℃伅-瀹ゅ
/// </summary>
- Button btnTempValues;
+ TextButton btnTempValues;
/// <summary>
- /// 褰撳墠婀垮害淇℃伅
+ /// 褰撳墠婀垮害淇℃伅-瀹ゅ
/// </summary>
- Button btnHumidityValues;
+ TextButton btnHumidityValues;
+ /// <summary>
+ /// 褰撳墠娓╁害淇℃伅-瀹ゅ唴
+ /// </summary>
+ TextButton btnIndoorTempValues;
+ /// <summary>
+ /// 褰撳墠婀垮害淇℃伅-瀹ゅ唴
+ /// </summary>
+ TextButton btnIndoorHumiValues;
/// <summary>
/// 褰撳墠pm2.5鐘舵��
/// </summary>
- Button btnPm25Values;
+ TextButton btnPm25Values;
/// <summary>
/// 鍒囨崲鏄剧ず鍔熻兘绫诲瀷鍖哄煙
/// </summary>
@@ -80,21 +97,54 @@
bool CurShowTypeIsFunction = true;
#endregion
+ #region 鎶ヨ淇℃伅
+ Button btnMsgBg;
+ Button btnMsgTime;
+ Button btnMsg;
+ Button btnMsgIcon;
+ #endregion
+
public HomePage()
{
bodyView = this;
bodyView.BackgroundColor = CSS_Color.BackgroundColor;
+
+ this.VerticalScrollBarEnabled = false;
+#if __IOS__
+ //鑷姩鍋忕Щ鍙栨秷
+ if (UIKit.UIDevice.CurrentDevice.CheckSystemVersion(11, 0))
+ {
+ (this.uiView as UIKit.UIScrollView).ContentInsetAdjustmentBehavior = UIKit.UIScrollViewContentInsetAdjustmentBehavior.Never;
+ }
+#endif
+ }
+
+ public override void RemoveFromParent()
+ {
+ UnregisterGetPushMessageAction();
+ base.RemoveFromParent();
}
public void LoadPage()
{
+ MainPage.CurPageIndex = 0;
try
{
+ this.BeginHeaderRefreshingAction = () =>
+ {
+ this.EndHeaderRefreshing();
+ Common.ApiUtlis.Ins.DownloadData();
+ LoadContentView();
+ };
+
#region topView
+
+ bodyView.RemoveAll();
+
topView = new FrameLayout()
{
Height = Application.GetRealHeight(216),
- BackgroundImagePath = DB_ResidenceData.residenceData.residenceImage,
+ BackgroundImagePath = DB_ResidenceData.Instance.residenceImage,
};
bodyView.AddChidren(topView);
@@ -115,17 +165,20 @@
Radius = (uint)Application.GetRealWidth(3),
};
topView.AddChidren(btnLinkStateTip);
+ //鏇存柊閾炬帴鐘舵�乮con棰滆壊
+ CheckLinkStatus();//2020-12-22
+
btnResidenceName = new Button()
{
X = Application.GetRealWidth(26),
Y = Application.GetRealHeight(32),
- Width = Application.GetRealWidth(400),
+ Width = Application.GetRealWidth(300),
Height = Application.GetRealHeight(33),
TextColor = CSS_Color.MainBackgroundColor,
TextSize = CSS_FontSize.EmphasisFontSize_FirstLevel,
TextAlignment = TextAlignment.CenterLeft,
- Text = DB_ResidenceData.residenceData.residecenInfo.Name,
+ Text = DB_ResidenceData.Instance.CurrentRegion.homeName,
IsBold = true
};
topView.AddChidren(btnResidenceName);
@@ -134,12 +187,7 @@
//鎼滅储缃戝叧
btnResidenceName.MouseUpEventHandler = (sender, e) =>
{
- System.Threading.Tasks.Task.Run(() =>
- {
- DriverLayer.Control.Ins.OpenUdp(6000);
- //DB_ResidenceData.residenceData.GatewayType = 0;
- //DriverLayer.Control.Ins.SearchLoaclGateway();
- });
+
};
#endif
@@ -150,9 +198,55 @@
};
topView.AddChidren(environmentalView);
#region 鐜鏁版嵁
+ var tempSensorList = FunctionList.List.GetEnvirSensorsList().FindAll((obj) => obj.spk == SPK.SensorTemperature);
+ var humiSensorList = FunctionList.List.GetEnvirSensorsList().FindAll((obj) => obj.spk == SPK.SensorHumidity);
+ var enviList = FunctionList.List.GetEnvirSensorsList().FindAll((obj) => SPK.EvironmentSensorList().Contains(obj.spk));
+ foreach (var enviTemp in enviList)
+ {
+ var humiAttr = enviTemp.attributes.Find((obj) => obj.key == "humidity");
+ if (humiAttr != null)
+ {
+ var newTemp = new Function()
+ {
+ name = enviTemp.name,
+ sid = enviTemp.sid,
+ deviceId = enviTemp.deviceId,
+ attributes = new List<FunctionAttributes> { new FunctionAttributes { key = "value", state = humiAttr.state, curValue = humiAttr.curValue } },
+ };
+ humiSensorList.Add(newTemp);
+ }
+ var tempAttr = enviTemp.attributes.Find((obj) => obj.key == "temperature");
+ if (tempAttr != null)
+ {
+ var newTemp = new Function()
+ {
+ name = enviTemp.name,
+ sid = enviTemp.sid,
+ deviceId = enviTemp.deviceId,
+ attributes = new List<FunctionAttributes> { new FunctionAttributes { key = "value", state = tempAttr.state, curValue = tempAttr.curValue } },
+ };
+ tempSensorList.Add(newTemp);
+ }
+ }
+
+ var btnEnvirValuesTitle = new Button() {
+ X = Application.GetRealWidth(12),
+ Gravity = Gravity.CenterVertical,
+ TextColor = CSS_Color.MainBackgroundColor,
+ TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
+ TextID = StringId.Outdoor,
+ TextAlignment = TextAlignment.CenterLeft,
+ };
+ if (tempSensorList.Count > 0 || humiSensorList.Count > 0)
+ {
+ btnEnvirValuesTitle.TextID = StringId.InOutdoor;
+ }
+ btnEnvirValuesTitle.Width = Application.GetRealWidth(8) + btnEnvirValuesTitle.GetTextWidth();
+ environmentalView.AddChidren(btnEnvirValuesTitle);
+
Button btnTempIcon = new Button()
{
- X = Application.GetRealWidth(12),
+ X = btnEnvirValuesTitle.Right,
Gravity = Gravity.CenterVertical,
Width = Application.GetMinRealAverage(16),
Height = Application.GetMinRealAverage(16),
@@ -160,21 +254,53 @@
};
environmentalView.AddChidren(btnTempIcon);
- btnTempValues = new Button()
+ btnTempValues = new TextButton()
{
X = btnTempIcon.Right + Application.GetRealWidth(4),
- Width = Application.GetRealWidth(30),
Gravity = Gravity.CenterVertical,
TextColor = CSS_Color.MainBackgroundColor,
TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
Text = MainPage.cityInfo.temperature + "掳",
TextAlignment = TextAlignment.CenterLeft,
};
+ btnTempValues.Width = btnTempValues.GetTextWidth();
environmentalView.AddChidren(btnTempValues);
+
+ btnIndoorTempValues = new TextButton()
+ {
+ X = btnTempValues.Right,
+ Gravity = Gravity.CenterVertical,
+ TextColor = CSS_Color.MainBackgroundColor,
+ TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
+ TextAlignment = TextAlignment.CenterLeft,
+ Text = ""
+ };
+ if (tempSensorList.Count > 0)
+ {
+ btnIndoorTempValues.Text = "/--掳";
+ double tempTotalValues = 0;
+ double tempTotalCount = 0;
+ foreach (var temp in tempSensorList)
+ {
+ double tempValue = 0;
+ double.TryParse(temp.GetAttrState(FunctionAttributeKey.Value), out tempValue);
+ if (tempValue > 0)
+ {
+ tempTotalValues += tempValue;
+ tempTotalCount++;
+ }
+ }
+ if (tempTotalValues > 0)
+ {
+ btnIndoorTempValues.Text = "/" + (tempTotalValues/ tempTotalCount).ToString("0.0") + "掳";
+ }
+ }
+ btnIndoorTempValues.Width = btnIndoorTempValues.GetTextWidth();
+ environmentalView.AddChidren(btnIndoorTempValues);
Button btnHumidityIcon = new Button()
{
- X = btnTempValues.Right + Application.GetRealWidth(2),
+ X = btnIndoorTempValues.Right + Application.GetRealWidth(8),
Gravity = Gravity.CenterVertical,
Width = Application.GetMinRealAverage(16),
Height = Application.GetMinRealAverage(16),
@@ -182,21 +308,53 @@
};
environmentalView.AddChidren(btnHumidityIcon);
- btnHumidityValues = new Button()
+ btnHumidityValues = new TextButton()
{
X = btnHumidityIcon.Right + Application.GetRealWidth(4),
- Width = Application.GetRealWidth(30),
Gravity = Gravity.CenterVertical,
TextColor = CSS_Color.MainBackgroundColor,
TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
Text = MainPage.cityInfo.humidity + "%",
TextAlignment = TextAlignment.CenterLeft,
};
+ btnHumidityValues.Width = btnHumidityValues.GetTextWidth();
environmentalView.AddChidren(btnHumidityValues);
+
+ btnIndoorHumiValues = new TextButton()
+ {
+ X = btnHumidityValues.Right,
+ Gravity = Gravity.CenterVertical,
+ TextColor = CSS_Color.MainBackgroundColor,
+ TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
+ TextAlignment = TextAlignment.CenterLeft,
+ Text = ""
+ };
+ if (tempSensorList.Count > 0)
+ {
+ btnIndoorHumiValues.Text = "/--%";
+ double humiTotalValues = 0;
+ double humiTotalCount = 0;
+ foreach (var humi in humiSensorList)
+ {
+ double humiValue = 0;
+ double.TryParse(humi.GetAttrState(FunctionAttributeKey.Value), out humiValue);
+ if (humiValue > 0)
+ {
+ humiTotalValues += humiValue;
+ humiTotalCount++;
+ }
+ }
+ if (humiTotalValues > 0)
+ {
+ btnIndoorHumiValues.Text = "/" + (humiTotalValues / humiTotalCount).ToString("0") + "%";
+ }
+ }
+ btnIndoorHumiValues.Width = btnIndoorHumiValues.GetTextWidth();
+ environmentalView.AddChidren(btnIndoorHumiValues);
Button btnPm25Icon = new Button()
{
- X = btnHumidityValues.Right + Application.GetRealWidth(2),
+ X = btnIndoorHumiValues.Right + Application.GetRealWidth(4),
Gravity = Gravity.CenterVertical,
Width = Application.GetMinRealAverage(16),
Height = Application.GetMinRealAverage(16),
@@ -204,18 +362,48 @@
};
environmentalView.AddChidren(btnPm25Icon);
- btnPm25Values = new Button()
+ btnPm25Values = new TextButton()
{
X = btnPm25Icon.Right + Application.GetRealWidth(4),
- Width = Application.GetRealWidth(130),
Gravity = Gravity.CenterVertical,
TextColor = CSS_Color.MainBackgroundColor,
TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
Text = MainPage.cityInfo.pm25,
TextAlignment = TextAlignment.CenterLeft,
};
+ btnPm25Values.Width = btnPm25Values.GetTextWidth();
environmentalView.AddChidren(btnPm25Values);
#endregion
+
+ btnSecurityStatus = new Button()
+ {
+ X = Application.GetRealWidth(329),
+ Y = Application.GetRealHeight(34),
+ Width = Application.GetRealWidth(30),
+ Height = Application.GetRealWidth(30),
+ SelectedImagePath = "Collection/DefenseStatusIcon.png",
+ UnSelectedImagePath = "Collection/DisarmStatusIcon.png"
+ };
+ if (DB_ResidenceData.Instance.GatewayType == 1)
+ {
+ topView.AddChidren(btnSecurityStatus);
+ foreach (var temp in FunctionList.List.securities)
+ {
+ if (temp.status == "enable")
+ {
+ btnSecurityStatus.IsSelected = true;
+ break;
+ }
+ }
+
+ btnSecurityStatus.MouseUpEventHandler = (sender, e) => {
+ var page = new ArmCenterPage();
+ MainPage.BasePageView.AddChidren(page);
+ page.LoadPage();
+ MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+ };
+ }
+
#region msg
FrameLayout msgView;
@@ -228,14 +416,14 @@
};
topView.AddChidren(msgView);
- var btngb = new Button()
+ btnMsgBg = new Button()
{
BackgroundColor = CSS_Color.MainColor,//0x3F4484F4,
Alpha = 0.4f,
};
- msgView.AddChidren(btngb);
+ msgView.AddChidren(btnMsgBg);
- Button btnMsgIcon;
+
btnMsgIcon = new Button()
{
X = Application.GetRealWidth(12),
@@ -247,19 +435,19 @@
};
msgView.AddChidren(btnMsgIcon);
- Button btnMsg;
+
btnMsg = new Button()
{
X = Application.GetRealWidth(10) + btnMsgIcon.Right,
Width = Application.GetRealWidth(240),
- Text = "鏃�",
+ Text = "...",
TextColor = CSS_Color.MainBackgroundColor,
TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
TextAlignment = TextAlignment.CenterLeft,
};
msgView.AddChidren(btnMsg);
- Button btnMsgTime;
+
btnMsgTime = new Button()
{
X = Application.GetRealWidth(299),
@@ -269,14 +457,20 @@
TextAlignment = TextAlignment.CenterLeft,
};
msgView.AddChidren(btnMsgTime);
+
+ LoadEvent_GotoMessageCenterPage();
+
#endregion
#endregion
#region 鍔熻兘鍦烘櫙鍒囨崲
+
+ bodyView.AddChidren(new Button() { Height = Application.GetRealHeight(20), BackgroundColor = 0x00000000 });
+
changeView = new FrameLayout()
{
- Y = Application.GetRealHeight(20) + topView.Bottom,
+ //Y = Application.GetRealHeight(20) + topView.Bottom,
Gravity = Gravity.CenterHorizontal,
Width = Application.GetRealWidth(230),
Height = Application.GetRealHeight(62),
@@ -286,14 +480,15 @@
btnChangeFunction = new Button()
{
- Width = Application.GetRealWidth(114),
+ X = Application.GetRealWidth(10),
+ Width = Application.GetRealWidth(114-10),
TextID = StringId.Functions,
SelectedTextColor = CSS_Color.MainColor,
TextColor = CSS_Color.PromptingColor1,
TextSize = CSS_FontSize.HeadlineFontSize,
TextAlignment = TextAlignment.Center,
IsSelected = true,
- IsBold = true
+ IsBold = true,
};
changeView.AddChidren(btnChangeFunction);
@@ -310,7 +505,7 @@
btnChangeScene = new Button()
{
X = btnLine.Right,
- Width = Application.GetRealWidth(114),
+ Width = Application.GetRealWidth(114-10),
TextID = StringId.Scenes,
SelectedTextColor = CSS_Color.MainColor,
TextColor = CSS_Color.PromptingColor1,
@@ -323,12 +518,199 @@
#region ContextView
contentView = new PageLayout()
{
- Y = changeView.Bottom ,
+ //Y = changeView.Bottom,
Height = Application.GetRealHeight(310 + 30 + 10), //20涓鸿秴鍑洪儴鍒�
+ IsShowPoint = false,
};
bodyView.AddChidren(contentView);
functionViews = new List<FrameLayout>();
+
+ LoadContentView();
+
+ #endregion
+ }
+ catch (Exception ex)
+ {
+ MainPage.Log($"HomePage LoadPage Error : {ex.Message}");
+ }
+
+
+#if DEBUG
+
+
+ //FunctionList.List.Functions.Add(new Function()
+ //{
+ // spk = SPK.AirSwitch,
+ // name = "鏅鸿兘绌哄紑",
+ // attributes = new List<FunctionAttributes>()
+ // {
+ // new FunctionAttributes(){ key = "on_off",curValue= "on",state = "on" },
+ // },
+ //});
+
+ FunctionList.List.Functions.Add(new Function()
+ {
+ spk = SPK.AirFreshStandard,
+ name = "娴嬭瘯鏂伴",
+ attributes = new List<FunctionAttributes>()
+ {
+ new FunctionAttributes(){ key = "on_off",curValue= "on",state = "on" },
+ new FunctionAttributes(){ key = "fan",curValue= "low",state = "low" ,value = new List<string>(){ "high", "medium", "low" } },
+ },
+ });
+
+ //FunctionList.List.Functions.Add(new Function()
+ //{
+ // spk = SPK.SensorGas,
+ // name = "鐕冩皵浼犳劅鍣�",
+ // attributes = new List<FunctionAttributes>()
+ // {
+ // new FunctionAttributes(){ key = "enable",curValue= "true",state = "true" ,value = new List<string>(){ "true", "false" } },
+ // new FunctionAttributes(){ key = "status",curValue= "normal",state = "normal" ,value = new List<string>(){ "alarm", "normal" } },
+ // },
+ //});
+
+ //FunctionList.List.Functions.Add(new Function() { spk = SPK.PjtIr, name = "娴嬭瘯鎶曞奖浠�",
+ // attributes = new List<FunctionAttributes>() {
+ // new FunctionAttributes(){ key = "on_off",curValue= "on",state = "on" },
+ // new FunctionAttributes(){ key = "computer",value = new List<string>(){"鐢佃剳" } },
+ // new FunctionAttributes(){ key = "video",value = new List<string>(){"瑙嗛" } },
+ // new FunctionAttributes(){ key = "source",value = new List<string>(){"淇″彿婧�" } },
+ // new FunctionAttributes(){ key = "zoom+",value = new List<string>(){"鍙樼劍+" } },
+ // new FunctionAttributes(){ key = "zoom-",value = new List<string>(){"鍙樼劍-" } },
+ // new FunctionAttributes(){ key = "page+",value = new List<string>(){"鐢婚潰+" } },
+ // new FunctionAttributes(){ key = "page-",value = new List<string>(){"鐢婚潰-" } },
+ // new FunctionAttributes(){ key = "menu",value = new List<string>(){"鑿滃崟" } },
+ // new FunctionAttributes(){ key = "ok",value = new List<string>(){"纭" } },
+ // new FunctionAttributes(){ key = "up",value = new List<string>(){"涓�" } },
+ // new FunctionAttributes(){ key = "left",value = new List<string>(){"宸�" } },
+ // new FunctionAttributes(){ key = "right",value = new List<string>(){"鍙�" } },
+ // new FunctionAttributes(){ key = "down",value = new List<string>(){"涓�" } },
+ // new FunctionAttributes(){ key = "exit",value = new List<string>(){"閫�鍑�" } },
+ // new FunctionAttributes(){ key = "volume+",value = new List<string>(){"闊抽噺+" } },
+ // new FunctionAttributes(){ key = "volume-",value = new List<string>(){"闊抽噺-" } },
+ // new FunctionAttributes(){ key = "mute",value = new List<string>(){"闈欓煶" } },
+ // new FunctionAttributes(){ key = "auto",value = new List<string>(){"鑷姩" } },
+ // new FunctionAttributes(){ key = "pause",value = new List<string>(){"鏆傚仠" } },
+ // }
+ //});
+
+ //FunctionList.List.Functions.Add(new Function()
+ //{
+ // spk = SPK.StbIr,
+ // name = "娴嬭瘯鏈洪《鐩�",
+ // attributes = new List<FunctionAttributes>() {
+ // new FunctionAttributes(){ key = "on_off",curValue= "on",state = "on" },
+ // new FunctionAttributes(){ key = "computer",value = new List<string>(){"鐢佃剳" } },
+ // new FunctionAttributes(){ key = "video",value = new List<string>(){"瑙嗛" } },
+ // new FunctionAttributes(){ key = "source",value = new List<string>(){"淇″彿婧�" } },
+ // new FunctionAttributes(){ key = "zoom+",value = new List<string>(){"鍙樼劍+" } },
+ // new FunctionAttributes(){ key = "zoom-",value = new List<string>(){"鍙樼劍-" } },
+ // new FunctionAttributes(){ key = "page+",value = new List<string>(){"鐢婚潰+" } },
+ // new FunctionAttributes(){ key = "page-",value = new List<string>(){"鐢婚潰-" } },
+ // new FunctionAttributes(){ key = "menu",value = new List<string>(){"鑿滃崟" } },
+ // new FunctionAttributes(){ key = "ok",value = new List<string>(){"纭" } },
+ // new FunctionAttributes(){ key = "up",value = new List<string>(){"涓�" } },
+ // new FunctionAttributes(){ key = "left",value = new List<string>(){"宸�" } },
+ // new FunctionAttributes(){ key = "right",value = new List<string>(){"鍙�" } },
+ // new FunctionAttributes(){ key = "down",value = new List<string>(){"涓�" } },
+ // new FunctionAttributes(){ key = "exit",value = new List<string>(){"閫�鍑�" } },
+ // new FunctionAttributes(){ key = "volume+",value = new List<string>(){"闊抽噺+" } },
+ // new FunctionAttributes(){ key = "volume-",value = new List<string>(){"闊抽噺-" } },
+ // new FunctionAttributes(){ key = "mute",value = new List<string>(){"闈欓煶" } },
+ // new FunctionAttributes(){ key = "auto",value = new List<string>(){"鑷姩" } },
+ // new FunctionAttributes(){ key = "pause",value = new List<string>(){"鏆傚仠" } },
+ // }
+ //});
+
+ //FunctionList.List.Functions.Add(new Function()
+ //{
+ // spk = SPK.TvIr,
+ // name = "娴嬭瘯鐢佃",
+ // attributes = new List<FunctionAttributes>() {
+ // new FunctionAttributes(){ key = "on_off",curValue= "on",state = "on" },
+ // new FunctionAttributes(){ key = "computer",value = new List<string>(){"鐢佃剳" } },
+ // new FunctionAttributes(){ key = "video",value = new List<string>(){"瑙嗛" } },
+ // new FunctionAttributes(){ key = "source",value = new List<string>(){"淇″彿婧�" } },
+ // new FunctionAttributes(){ key = "zoom+",value = new List<string>(){"鍙樼劍+" } },
+ // new FunctionAttributes(){ key = "zoom-",value = new List<string>(){"鍙樼劍-" } },
+ // new FunctionAttributes(){ key = "page+",value = new List<string>(){"鐢婚潰+" } },
+ // new FunctionAttributes(){ key = "page-",value = new List<string>(){"鐢婚潰-" } },
+ // new FunctionAttributes(){ key = "menu",value = new List<string>(){"鑿滃崟" } },
+ // new FunctionAttributes(){ key = "ok",value = new List<string>(){"纭" } },
+ // new FunctionAttributes(){ key = "up",value = new List<string>(){"涓�" } },
+ // new FunctionAttributes(){ key = "left",value = new List<string>(){"宸�" } },
+ // new FunctionAttributes(){ key = "right",value = new List<string>(){"鍙�" } },
+ // new FunctionAttributes(){ key = "down",value = new List<string>(){"涓�" } },
+ // new FunctionAttributes(){ key = "exit",value = new List<string>(){"閫�鍑�" } },
+ // new FunctionAttributes(){ key = "volume+",value = new List<string>(){"闊抽噺+" } },
+ // new FunctionAttributes(){ key = "volume-",value = new List<string>(){"闊抽噺-" } },
+ // new FunctionAttributes(){ key = "mute",value = new List<string>(){"闈欓煶" } },
+ // new FunctionAttributes(){ key = "auto",value = new List<string>(){"鑷姩" } },
+ // new FunctionAttributes(){ key = "pause",value = new List<string>(){"鏆傚仠" } },
+ // }
+ //});
+#endif
+
+ }
+ /// <summary>
+ /// 鍔犺浇鍐呭鍖哄煙
+ /// </summary>
+ void LoadContentView()
+ {
+ if (!Common.ApiUtlis.Ins.DownloadDataComplete)
+ {
+ var waitPage = new Loading();
+ MainPage.BaseView.AddChidren(waitPage);
+ waitPage.Start(Language.StringByID(StringId.PleaseWait));
+
+ new System.Threading.Thread(() =>
+ {
+ try
+ {
+ while (!Common.ApiUtlis.Ins.DownloadDataComplete)
+ {
+ System.Threading.Thread.Sleep(400);
+ }
+ Application.RunOnMainThread(() =>
+ {
+ if (contentView == null)
+ {
+ return;
+ }
+ contentView.RemoveAll();
+ deviceFunctionView = new VerticalScrolViewLayout();
+ contentView.AddChidren(deviceFunctionView);
+ LoadDeviceFunctionControlZone();
+ sceneFunctionView = new VerticalScrolViewLayout();
+ contentView.AddChidren(sceneFunctionView);
+ LoadSceneFunctionControlZone();
+ contentView.PageIndex = 0;
+
+
+ LoadEvent_ChangeShowedFunctionType();
+
+ // 鏌ヨ鏈娑堟伅骞舵樉绀�
+ GetUnreadPushMessages();
+ RegisterGetPushMessageAction();
+
+ if (waitPage != null)
+ {
+ waitPage.RemoveFromParent();
+ waitPage = null;
+ }
+ });
+ }
+ catch (Exception ex) {
+ MainPage.Log($"鍒锋柊涓婚〉寮傚父:{ex.Message}");
+ }
+ finally { }
+ })
+ { IsBackground = true }.Start();
+ }
+ else
+ {
deviceFunctionView = new VerticalScrolViewLayout();
contentView.AddChidren(deviceFunctionView);
@@ -338,20 +720,15 @@
LoadSceneFunctionControlZone();
contentView.PageIndex = 0;
- #endregion
LoadEvent_ChangeShowedFunctionType();
- }
- catch (Exception ex)
- {
- MainPage.Log($"HomePage LoadPage Error : {ex.Message}");
+
+ // 鏌ヨ鏈娑堟伅骞舵樉绀�
+ GetUnreadPushMessages();
+ RegisterGetPushMessageAction();
+
}
-
- System.Threading.Tasks.Task.Run(() =>
- {
- //DriverLayer.Control.Ins.SearchLoaclGateway();
- });
}
/// <summary>
@@ -366,12 +743,18 @@
try
{
int index = 0;
- foreach (var function in DB_ResidenceData.functionList.GetAllDeviceFunctionList())
+ var list = FunctionList.List.GetDeviceFunctionList();
+ foreach (var function in list)
{
//闊充箰妯″潡鏈変富浠庡叧绯伙紝闇�瑕佺壒娈婂鐞�
- if (function.functionCategory == FunctionCategory.Music)
+ if (function.Spk_Prefix == FunctionCategory.Music)
{
- var music = function as Music.A31MusicModel;
+ //var music = function as Music.A31MusicModel;
+ var music = Music.A31MusicModel.A31MusicModelList.Find((obj) => obj.sid == function.sid);
+ if (music == null)
+ {
+ continue;
+ }
if (music.ServerClientType == -1)
{
continue;
@@ -385,7 +768,7 @@
}
else
{
- if (!music.collection)
+ if (!music.collect)
{
continue;
}
@@ -393,7 +776,7 @@
}
else
{
- if (!function.collection)
+ if (!function.collect)
continue;
//if (function.roomIdList.Count == 0)//濡備綍鍦ㄦ埧闂村凡缁忕Щ闄や簡杩欎釜鍔熻兘锛屽垯鏀惰棌鐣岄潰涔熶笉浼氬啀鏄剧ず
//{
@@ -481,15 +864,15 @@
try
{
int index = 0;
- foreach (var function in DB_ResidenceData.functionList.scenes)
+ foreach (var scene in FunctionList.List.scenes)
{
- if (!function.collection)
+ if (!scene.collect)
continue;
- if (function.roomIdList.Count == 0)//濡備綍鍦ㄦ埧闂村凡缁忕Щ闄や簡杩欎釜鍔熻兘锛屽垯鏀惰棌鐣岄潰涔熶笉浼氬啀鏄剧ず
- {
- function.collection = false;
- continue;
- }
+ //if (scene.roomIds.Count == 0)//濡備綍鍦ㄦ埧闂村凡缁忕Щ闄や簡杩欎釜鍔熻兘锛屽垯鏀惰棌鐣岄潰涔熶笉浼氬啀鏄剧ず
+ //{
+ // scene.collect = false;
+ // continue;
+ //}
if (index % 2 == 0)
{
sceneFunctionView.AddChidren(new Button() { Height = Application.GetRealHeight(7) });
@@ -507,12 +890,15 @@
X = functionView_X,
Width = Application.GetRealWidth(164),
Height = Application.GetRealWidth(122),
- Tag = function.sid,
- BackgroundImagePath = (function as Scene).ImagePath,
+ Tag = scene.sid,
+ BackgroundImagePath = scene.ImagePath,
};
rowView.AddChidren(functionView);
- LoadSceneFunctionDiv( functionView, function);
+ //2020-12-03 淇敼鍥剧墖鍔犺浇鏂规硶
+ ImageUtlis.Current.LoadLocalOrNetworkImages((scene as Scene).ImagePath, functionView);
+
+ LoadSceneFunctionDiv( functionView, scene);
index++;
}
@@ -568,6 +954,11 @@
};
view.AddChidren(btnIcon);
+
+ btnIcon.UnSelectedImagePath = $"FunctionIcon/Icon/HomeIcon/{function.IconName}_blue.png";
+ btnIcon.SelectedImagePath = $"FunctionIcon/Icon/HomeIcon/{function.IconName}_white.png";
+
+
Button btnName;
btnName = new Button()
{
@@ -612,7 +1003,11 @@
Tag = "state",
Text = function.lastState
};
- view.AddChidren(btnState);
+
+ if (function.spk != SPK.LightSwitch)
+ {
+ view.AddChidren(btnState);
+ }
Button btnCollection;
btnCollection = new Button()
@@ -625,9 +1020,16 @@
UnSelectedImagePath = "Collection/CollectionIcon.png",
};
view.AddChidren(btnCollection);
- LoadEvent_FunctionCollection(btnCollection, function, true);
+ //2020-12-16 濡傛灉鏄垚鍛橀殣钘忔敹钘忓姛鑳�
+ //if (!DB_ResidenceData.Instance.CurrentRegion.isOtherShare)
+ //{
+ // view.AddChidren(btnCollection);
+ //}
- if (function.functionCategory == FunctionCategory.Curtain)
+ LoadEvent_FunctionCollection(btnCollection, function);
+ if (//SPK.CurtainSpkList().Contains(function.spk))
+ function.spk == SPK.CurtainRoller || function.spk == SPK.CurtainShades ||
+ function.spk == SPK.CurtainSwitch || function.spk == SPK.CurtainTrietex )
{
btnIcon.UnSelectedImagePath = "FunctionIcon/Curtain/CurtainIcon.png";
btnIcon.SelectedImagePath = "FunctionIcon/Curtain/CurtainOnIcon.png";
@@ -655,26 +1057,26 @@
};
view.AddChidren(btnCurtainOpen);
- LoadEvent_ControlCurtain(function as Curtain, btnCurtainClose, btnCurtainOpen);
+ LoadEvent_ControlCurtain(function, btnCurtainClose, btnCurtainOpen);
}
- else if (function.functionType == FunctionType.TV)
+ else if (SPK.NotStatusSpkList.Contains(function.spk))
{
- btnIcon.UnSelectedImagePath = "FunctionIcon/Electrical/TVIcon.png";
Button btnPower;
btnPower = new Button()
{
X = Application.GetRealWidth(131),
- Y = Application.GetRealHeight(86),
+ Y = Application.GetRealHeight(80),
Width = Application.GetRealWidth(32),
Height = Application.GetRealWidth(32),
UnSelectedImagePath = "Public/PowerClose.png",
+ SelectedImagePath = "Public/PowerOpen.png",
};
view.AddChidren(btnPower);
- LoadEvent_ControlTV(function as TV, btnPower);
+ LoadEvent_ControlTV(function, btnPower);
}
- else if (function.functionCategory == FunctionCategory.Music)
+ else if (function.spk == SPK.MusicStandard)
{
btnIcon.UnSelectedImagePath = "FunctionIcon/Music/MusicIcon.png";
btnIcon.SelectedImagePath = "FunctionIcon/Music/MusicOnIcon.png";
@@ -697,7 +1099,8 @@
//Music.SendMethod.ReadStatus(a31player);
- btnPower.MouseUpEventHandler = (sender, e) => {
+ btnPower.MouseUpEventHandler = (sender, e) =>
+ {
if (btnPower.IsSelected)
{
btnPower.IsSelected = false;
@@ -716,6 +1119,39 @@
};
}
+ else if (function.spk == SPK.ClothesHanger)
+ {
+ btnIcon.UnSelectedImagePath = "FunctionIcon/Electrical/ClothesHanger/ClothesHangerBlueIcon.png";
+ btnIcon.SelectedImagePath = "FunctionIcon/Electrical/Curtain/ClothesHangerBlueIcon.png";
+ Button btnUp;
+ btnUp = new Button()
+ {
+ X = Application.GetRealWidth(84+3),
+ Y = Application.GetRealWidth(89),
+ Width = Application.GetRealWidth(38),
+ Height = Application.GetRealWidth(38),
+ UnSelectedImagePath = "FunctionIcon/Electrical/ClothesHanger/ClothesHangerUpIcon2.png",
+ SelectedImagePath = "FunctionIcon/Electrical/ClothesHanger/ClothesHangerUpIcon2On.png",
+ };
+ view.AddChidren(btnUp);
+
+ Button btnDown;
+ btnDown = new Button()
+ {
+ X = btnUp.Right + Application.GetRealWidth(3),
+ Y = Application.GetRealWidth(89),
+ Width = Application.GetRealWidth(38),
+ Height = Application.GetRealWidth(38),
+ UnSelectedImagePath = "FunctionIcon/Electrical/ClothesHanger/ClothesHangerDownIcon2.png",
+ SelectedImagePath = "FunctionIcon/Electrical/ClothesHanger/ClothesHangerDownIcon2On.png",
+ };
+ view.AddChidren(btnDown);
+
+
+ LoadEvent_ControlClothesHanger(function, btnUp, btnDown);
+
+ }
+
else
{
Button btnSwitch;
@@ -730,60 +1166,34 @@
};
view.AddChidren(btnSwitch);
- switch (function.functionCategory)
- {
- case FunctionCategory.Light:
- #region 鐏厜 Light
- btnIcon.UnSelectedImagePath = "FunctionIcon/Light/LightIcon.png";
- btnIcon.SelectedImagePath = "FunctionIcon/Light/LightOnIcon.png";
- UpdataFunctionStates(function as Light);
- #endregion
- break;
- case FunctionCategory.Thermostat:
- switch (function.functionType)
- {
- case FunctionType.AC:
- #region 绌鸿皟 AC
- btnIcon.UnSelectedImagePath = "FunctionIcon/AC/AcIcon.png";
- btnIcon.SelectedImagePath = "FunctionIcon/AC/AcOnIcon.png";
- #endregion
- break;
- case FunctionType.FloorHeating:
- #region 鍦扮儹
- btnIcon.UnSelectedImagePath = "FunctionIcon/FloorHeating/FloorHeatingIcon.png";
- btnIcon.SelectedImagePath = "FunctionIcon/FloorHeating/FloorHeatingOnIcon.png";
- #endregion
- break;
- }
- break;
- case FunctionCategory.SwitchDevice:
- switch (function.functionType)
- {
- case FunctionType.Socket:
- btnIcon.UnSelectedImagePath = "FunctionIcon/Socket/SocketIcon.png";
- btnIcon.SelectedImagePath = "FunctionIcon/Socket/SocketOnIcon.png";
- break;
- }
- break;
- case FunctionCategory.Electrical:
- switch (function.functionType)
- {
- case FunctionType.Fan:
- btnIcon.UnSelectedImagePath = "FunctionIcon/Electrical/FanIcon.png";
- btnIcon.SelectedImagePath = "FunctionIcon/Electrical/FanOnIcon.png";
- break;
- }
- break;
- }
+ btnIcon.UnSelectedImagePath = $"FunctionIcon/Icon/HomeIcon/{function.IconName}_blue.png";
+ btnIcon.SelectedImagePath = $"FunctionIcon/Icon/HomeIcon/{function.IconName}_white.png";
LoadEvent_SwitchFunction(function, btnSwitch);
}
- var skipControlPageEvent = new PublicAssmebly().LoadEvent_SkipFunctionControlPage(function, new Button(), new Button(), new Button());
+ //鍙栨秷鏀惰棌浜嬩欢
+ Action cannelCollect = () => {
+ function.collect = false;
+ if (function.Spk_Prefix == FunctionCategory.Music)//澶勭悊闊充箰涓讳粠鍏崇郴
+ {
+ if ((function as Music.A31MusicModel).ServerClientType == 1)
+ {
+ (function as Music.A31MusicModel).MainPlayCollection = false;
+ Music.A31MusicModel.Save();
+ }
+ }
+ string msg = function.name + Language.StringByID(StringId.CollectionCancelled);
+ LoadDeviceFunctionControlZone();
+ function.CollectFunction();
+ };
+
+
+ var skipControlPageEvent = new PublicAssmebly().LoadEvent_SkipFunctionControlPage(function, btnCollection, btnName, btnZone);
view.MouseUpEventHandler = skipControlPageEvent;
btnName.MouseUpEventHandler = skipControlPageEvent;
btnIcon.MouseUpEventHandler = skipControlPageEvent;
btnState.MouseUpEventHandler = skipControlPageEvent;
- //鐢佃涓嶉渶瑕佹洿鏂扮姸鎬�
- if(function.functionType!= FunctionType.TV)
+ //涓嶉渶瑕佹洿鏂扮姸鎬佺殑鍔ㄨ兘鍒楄〃
+ if(!SPK.NotStatusSpkList.Contains(function.spk))
{
UpdataFunctionStates(function);
}
@@ -797,7 +1207,7 @@
/// <summary>
/// 鍔犺浇鍦烘櫙鎺у埗鍗$墖
/// </summary>
- void LoadSceneFunctionDiv(FrameLayout view, Function function)
+ void LoadSceneFunctionDiv(FrameLayout view, Scene scene)
{
try
{
@@ -807,6 +1217,19 @@
};
view.AddChidren(btnCoverd);
+ Button btnShowDelay;
+ btnShowDelay = new Button()
+ {
+ X = Application.GetRealWidth(40),
+ Y = Application.GetRealWidth(4),
+ Height = Application.GetRealWidth(32),
+ Width = Application.GetRealWidth(100),
+ TextColor = CSS_Color.AuxiliaryColor1,
+ TextAlignment = TextAlignment.CenterLeft,
+ TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
+ };
+ view.AddChidren(btnShowDelay);
+
Button btnSettingIcon;
btnSettingIcon = new Button()
{
@@ -814,10 +1237,12 @@
Y = Application.GetRealWidth(4),
Height = Application.GetRealWidth(32),
Width = Application.GetRealWidth(32),
- //UnSelectedImagePath = "FunctionIcon/Scene/DelayIcon.png",
UnSelectedImagePath = "Public/FuncInfoSetIcon_white.png",
};
- view.AddChidren(btnSettingIcon);
+ if (scene.userId == UserInfo.Current.ID)
+ {
+ view.AddChidren(btnSettingIcon);
+ }
Button btnName;
btnName = new Button()
@@ -826,7 +1251,7 @@
Y = Application.GetRealWidth(68),
Width = Application.GetRealWidth(150),
Height = Application.GetRealHeight(24),
- Text = function.name,
+ Text = scene.name,
TextSize = CSS_FontSize.TextFontSize,
TextColor = CSS_Color.MainBackgroundColor,
TextAlignment = TextAlignment.CenterLeft,
@@ -844,7 +1269,7 @@
TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
TextAlignment = TextAlignment.CenterLeft,
SelectedTextColor = CSS_Color.MainBackgroundColor,
- Text = function.GetRoomListName(),
+ Text = scene.GetRoomListName(),
};
view.AddChidren(btnZone);
@@ -860,24 +1285,34 @@
UnSelectedImagePath = "Collection/CollectionIcon.png",
};
view.AddChidren(btnCollection);
- LoadEvent_FunctionCollection(btnCollection, function, false);
-
- LoadEvent_ControlScene(btnCoverd,btnName,btnZone, function);
+ //2020-12-16 濡傛灉鏄垚鍛橀殣钘忔敹钘忓姛鑳�
+ //if (!DB_ResidenceData.Instance.CurrentRegion.isOtherShare)
+ //{
+ // view.AddChidren(btnCollection);
+ //}
+
+ LoadEvent_SceneCollection(btnCollection, scene);
+
+ LoadEvent_ControlScene(btnCoverd, btnName, btnZone, btnShowDelay, scene);
btnSettingIcon.MouseUpEventHandler = (sender, e) => {
Action backAction = () => {
//LoadSceneFunctionControlZone();
};
Action refreshAction = () => {
- btnName.Text = function.name;
- btnZone.Text = function.GetRoomListName();
- view.BackgroundImagePath = (function as Scene).ImagePath;
+ btnName.Text = scene.name;
+ btnZone.Text = scene.GetRoomListName();
+ //view.BackgroundImagePath = (scene as Scene).ImagePath;
+ //2020-12-03 淇敼鍥剧墖鍔犺浇鏂规硶
+ ImageUtlis.Current.LoadLocalOrNetworkImages((scene as Scene).ImagePath, view);
};
- var aep = new SceneEditPage(function as Scene, backAction);
+ var aep = new SceneEditPage(scene, backAction);
MainPage.BasePageView.AddChidren(aep);
- aep.LoadPage(StringId.EditScene, refreshAction);
+ aep.LoadPage( refreshAction);
MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
};
+ //鍦烘櫙姝e湪鍊掕鏃舵墽琛屼腑
+ scene.SceneCountDown(btnShowDelay);
}
catch (Exception ex)
{
--
Gitblit v1.8.0