From 305f57840fff5b7cb1914b35c56eaece618711e7 Mon Sep 17 00:00:00 2001
From: JLChen <551775569@qq.com>
Date: 星期四, 14 一月 2021 17:06:36 +0800
Subject: [PATCH] 2021-01-14 1. 修改判断当前值是否需要参与签名方法,保持跟云端一致
---
HDL_ON/UI/UI2/1-HomePage/HomePage.cs | 324 ++++++++++++++++++++++++++++++++++++++---------------
1 files changed, 232 insertions(+), 92 deletions(-)
diff --git a/HDL_ON/UI/UI2/1-HomePage/HomePage.cs b/HDL_ON/UI/UI2/1-HomePage/HomePage.cs
index 773396f..645d512 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>
@@ -34,15 +37,15 @@
/// <summary>
/// 褰撳墠娓╁害淇℃伅
/// </summary>
- Button btnTempValues;
+ TextButton btnTempValues;
/// <summary>
/// 褰撳墠婀垮害淇℃伅
/// </summary>
- Button btnHumidityValues;
+ TextButton btnHumidityValues;
/// <summary>
/// 褰撳墠pm2.5鐘舵��
/// </summary>
- Button btnPm25Values;
+ TextButton btnPm25Values;
/// <summary>
/// 鍒囨崲鏄剧ず鍔熻兘绫诲瀷鍖哄煙
/// </summary>
@@ -91,17 +94,42 @@
{
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()
{
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);
@@ -122,17 +150,20 @@
Radius = (uint)Application.GetRealWidth(3),
};
topView.AddChidren(btnLinkStateTip);
+ //鏇存柊閾炬帴鐘舵�乮con棰滆壊
+ CheckLinkStatus();//2020-12-22
+ //LoadEvent_CheckLinkStatus();
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.Name,
IsBold = true
};
topView.AddChidren(btnResidenceName);
@@ -143,9 +174,9 @@
{
System.Threading.Tasks.Task.Run(() =>
{
- DriverLayer.Control.Ins.OpenUdp(6000);
- //DB_ResidenceData.residenceData.GatewayType = 0;
//DriverLayer.Control.Ins.SearchLoaclGateway();
+ //MainPage.InitializationData();
+ //DriverLayer.Control.Ins.IsRemote = true;
});
};
#endif
@@ -167,7 +198,7 @@
};
environmentalView.AddChidren(btnTempIcon);
- btnTempValues = new Button()
+ btnTempValues = new TextButton()
{
X = btnTempIcon.Right + Application.GetRealWidth(4),
Width = Application.GetRealWidth(30),
@@ -189,7 +220,7 @@
};
environmentalView.AddChidren(btnHumidityIcon);
- btnHumidityValues = new Button()
+ btnHumidityValues = new TextButton()
{
X = btnHumidityIcon.Right + Application.GetRealWidth(4),
Width = Application.GetRealWidth(30),
@@ -211,7 +242,7 @@
};
environmentalView.AddChidren(btnPm25Icon);
- btnPm25Values = new Button()
+ btnPm25Values = new TextButton()
{
X = btnPm25Icon.Right + Application.GetRealWidth(4),
Width = Application.GetRealWidth(130),
@@ -242,7 +273,7 @@
};
msgView.AddChidren(btnMsgBg);
-
+
btnMsgIcon = new Button()
{
X = Application.GetRealWidth(12),
@@ -254,19 +285,19 @@
};
msgView.AddChidren(btnMsgIcon);
-
+
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);
-
+
btnMsgTime = new Button()
{
X = Application.GetRealWidth(299),
@@ -284,9 +315,12 @@
#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),
@@ -333,12 +367,77 @@
#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}");
+ }
+
+ }
+ /// <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();
+
+ waitPage.Hide();
+ });
+ }
+ catch (Exception ex) {
+ MainPage.Log($"鍒锋柊涓婚〉寮傚父:{ex.Message}");
+ }
+ finally { }
+ })
+ { IsBackground = true }.Start();
+ }
+ else
+ {
deviceFunctionView = new VerticalScrolViewLayout();
contentView.AddChidren(deviceFunctionView);
@@ -348,20 +447,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>
@@ -369,6 +463,7 @@
/// </summary>
void LoadDeviceFunctionControlZone()
{
+
#region ContextView
deviceFunctionView.RemoveAll();
functionViews.Clear();
@@ -376,10 +471,10 @@
try
{
int index = 0;
- foreach (var function in DB_ResidenceData.functionList.GetAllDeviceFunctionList())
+ foreach (var function in FunctionList.List.GetDeviceFunctionList())
{
//闊充箰妯″潡鏈変富浠庡叧绯伙紝闇�瑕佺壒娈婂鐞�
- if (function.functionCategory == FunctionCategory.Music)
+ if (function.Spk_Prefix == FunctionCategory.Music)
{
var music = function as Music.A31MusicModel;
if (music.ServerClientType == -1)
@@ -395,7 +490,7 @@
}
else
{
- if (!music.collection)
+ if (!music.collect)
{
continue;
}
@@ -403,7 +498,7 @@
}
else
{
- if (!function.collection)
+ if (!function.collect)
continue;
//if (function.roomIdList.Count == 0)//濡備綍鍦ㄦ埧闂村凡缁忕Щ闄や簡杩欎釜鍔熻兘锛屽垯鏀惰棌鐣岄潰涔熶笉浼氬啀鏄剧ず
//{
@@ -491,15 +586,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) });
@@ -517,12 +612,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++;
}
@@ -622,7 +720,11 @@
Tag = "state",
Text = function.lastState
};
- view.AddChidren(btnState);
+
+ if (function.spk != SPK.LightSwitch)
+ {
+ view.AddChidren(btnState);
+ }
Button btnCollection;
btnCollection = new Button()
@@ -634,10 +736,16 @@
SelectedImagePath = "Collection/CollectionWhiteIcon.png",
UnSelectedImagePath = "Collection/CollectionIcon.png",
};
- view.AddChidren(btnCollection);
- LoadEvent_FunctionCollection(btnCollection, function, true);
+ //view.AddChidren(btnCollection);
+ //2020-12-16 濡傛灉鏄垚鍛橀殣钘忔敹钘忓姛鑳�
+ if (!DB_ResidenceData.Instance.CurrentRegion.IsOthreShare)
+ {
+ view.AddChidren(btnCollection);
+ }
- if (function.functionCategory == FunctionCategory.Curtain)
+ LoadEvent_FunctionCollection(btnCollection, function);
+
+ if (function.Spk_Prefix == FunctionCategory.Curtain)
{
btnIcon.UnSelectedImagePath = "FunctionIcon/Curtain/CurtainIcon.png";
btnIcon.SelectedImagePath = "FunctionIcon/Curtain/CurtainOnIcon.png";
@@ -668,7 +776,7 @@
LoadEvent_ControlCurtain(function as Curtain, btnCurtainClose, btnCurtainOpen);
}
- else if (function.functionType == FunctionType.TV)
+ else if (function.spk == SPK.ElectricTV)
{
btnIcon.UnSelectedImagePath = "FunctionIcon/Electrical/TVIcon.png";
Button btnPower;
@@ -684,7 +792,7 @@
LoadEvent_ControlTV(function as TV, btnPower);
}
- else if (function.functionCategory == FunctionCategory.Music)
+ else if (function.Spk_Prefix == FunctionCategory.Music)
{
btnIcon.UnSelectedImagePath = "FunctionIcon/Music/MusicIcon.png";
btnIcon.SelectedImagePath = "FunctionIcon/Music/MusicOnIcon.png";
@@ -707,7 +815,8 @@
//Music.SendMethod.ReadStatus(a31player);
- btnPower.MouseUpEventHandler = (sender, e) => {
+ btnPower.MouseUpEventHandler = (sender, e) =>
+ {
if (btnPower.IsSelected)
{
btnPower.IsSelected = false;
@@ -740,7 +849,7 @@
};
view.AddChidren(btnSwitch);
- switch (function.functionCategory)
+ switch (function.Spk_Prefix)
{
case FunctionCategory.Light:
#region 鐏厜 Light
@@ -749,36 +858,26 @@
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;
- }
+ case FunctionCategory.AC:
+ #region 绌鸿皟 AC
+ btnIcon.UnSelectedImagePath = "FunctionIcon/AC/AcIcon.png";
+ btnIcon.SelectedImagePath = "FunctionIcon/AC/AcOnIcon.png";
+ #endregion
break;
- case FunctionCategory.SwitchDevice:
- switch (function.functionType)
+ case FunctionCategory.FloorHeat:
+ #region 鍦扮儹
+ btnIcon.UnSelectedImagePath = "FunctionIcon/FloorHeating/FloorHeatingIcon.png";
+ btnIcon.SelectedImagePath = "FunctionIcon/FloorHeating/FloorHeatingOnIcon.png";
+ #endregion
+ break;
+ case FunctionCategory.Electric:
+ switch (function.spk)
{
- case FunctionType.Socket:
+ case SPK.ElectricSocket:
btnIcon.UnSelectedImagePath = "FunctionIcon/Socket/SocketIcon.png";
btnIcon.SelectedImagePath = "FunctionIcon/Socket/SocketOnIcon.png";
break;
- }
- break;
- case FunctionCategory.Electrical:
- switch (function.functionType)
- {
- case FunctionType.Fan:
+ case SPK.ElectricFan:
btnIcon.UnSelectedImagePath = "FunctionIcon/Electrical/FanIcon.png";
btnIcon.SelectedImagePath = "FunctionIcon/Electrical/FanOnIcon.png";
break;
@@ -787,13 +886,29 @@
}
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(function.spk!= SPK.ElectricTV)
{
UpdataFunctionStates(function);
}
@@ -807,7 +922,7 @@
/// <summary>
/// 鍔犺浇鍦烘櫙鎺у埗鍗$墖
/// </summary>
- void LoadSceneFunctionDiv(FrameLayout view, Function function)
+ void LoadSceneFunctionDiv(FrameLayout view, Scene scene)
{
try
{
@@ -817,6 +932,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()
{
@@ -824,10 +952,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 (!DB_ResidenceData.Instance.CurrentRegion.IsOthreShare)
+ {
+ view.AddChidren(btnSettingIcon);
+ }
Button btnName;
btnName = new Button()
@@ -836,7 +966,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,
@@ -854,7 +984,7 @@
TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
TextAlignment = TextAlignment.CenterLeft,
SelectedTextColor = CSS_Color.MainBackgroundColor,
- Text = function.GetRoomListName(),
+ Text = scene.GetRoomListName(),
};
view.AddChidren(btnZone);
@@ -869,25 +999,35 @@
SelectedImagePath = "Collection/CollectionWhiteIcon.png",
UnSelectedImagePath = "Collection/CollectionIcon.png",
};
- view.AddChidren(btnCollection);
- LoadEvent_FunctionCollection(btnCollection, function, false);
-
- LoadEvent_ControlScene(btnCoverd,btnName,btnZone, function);
+ //view.AddChidren(btnCollection);
+ //2020-12-16 濡傛灉鏄垚鍛橀殣钘忔敹钘忓姛鑳�
+ if (!DB_ResidenceData.Instance.CurrentRegion.IsOthreShare)
+ {
+ 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