From a1b0ab7044100daaa7e0f1da2d2ca45e38098963 Mon Sep 17 00:00:00 2001
From: 陈嘉乐 <cjl@hdlchina.com.cn>
Date: 星期一, 29 三月 2021 09:13:25 +0800
Subject: [PATCH] 2021-3-29-2
---
HDL_ON/UI/UI2/1-HomePage/HomePage.cs | 301 ++++++++++++++++++++++++++++++++-----------------
1 files changed, 197 insertions(+), 104 deletions(-)
diff --git a/HDL_ON/UI/UI2/1-HomePage/HomePage.cs b/HDL_ON/UI/UI2/1-HomePage/HomePage.cs
index 608fa42..f2f00ae 100644
--- a/HDL_ON/UI/UI2/1-HomePage/HomePage.cs
+++ b/HDL_ON/UI/UI2/1-HomePage/HomePage.cs
@@ -11,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>
@@ -92,6 +94,15 @@
{
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()
@@ -104,7 +115,17 @@
{
try
{
+ this.BeginHeaderRefreshingAction = () =>
+ {
+ this.EndHeaderRefreshing();
+ Common.ApiUtlis.Ins.DownloadData();
+ LoadContentView();
+ };
+
#region topView
+
+ bodyView.RemoveAll();
+
topView = new FrameLayout()
{
Height = Application.GetRealHeight(216),
@@ -151,12 +172,7 @@
//鎼滅储缃戝叧
btnResidenceName.MouseUpEventHandler = (sender, e) =>
{
- System.Threading.Tasks.Task.Run(() =>
- {
- //DriverLayer.Control.Ins.SearchLoaclGateway();
- //MainPage.InitializationData();
- //DriverLayer.Control.Ins.IsRemote = true;
- });
+
};
#endif
@@ -294,9 +310,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),
@@ -306,14 +325,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);
@@ -330,7 +350,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,
@@ -343,21 +363,38 @@
#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();
- if (!Common.ApiUtlis.Ins.DownloadDataComplete)
+ #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(() =>
{
- var waitPage = new Loading();
- MainPage.BaseView.AddChidren(waitPage);
- waitPage.Start(Language.StringByID(StringId.PleaseWait));
-
- new System.Threading.Thread(() =>
+ try
{
while (!Common.ApiUtlis.Ins.DownloadDataComplete)
{
@@ -365,7 +402,11 @@
}
Application.RunOnMainThread(() =>
{
-
+ if (contentView == null)
+ {
+ return;
+ }
+ contentView.RemoveAll();
deviceFunctionView = new VerticalScrolViewLayout();
contentView.AddChidren(deviceFunctionView);
LoadDeviceFunctionControlZone();
@@ -383,33 +424,32 @@
waitPage.Hide();
});
- })
- { IsBackground = true }.Start();
- }
- else
- {
-
- deviceFunctionView = new VerticalScrolViewLayout();
- contentView.AddChidren(deviceFunctionView);
- LoadDeviceFunctionControlZone();
- sceneFunctionView = new VerticalScrolViewLayout();
- contentView.AddChidren(sceneFunctionView);
- LoadSceneFunctionControlZone();
- contentView.PageIndex = 0;
-
-
- LoadEvent_ChangeShowedFunctionType();
-
- // 鏌ヨ鏈娑堟伅骞舵樉绀�
- GetUnreadPushMessages();
- RegisterGetPushMessageAction();
-
- }
- #endregion
+ }
+ catch (Exception ex) {
+ MainPage.Log($"鍒锋柊涓婚〉寮傚父:{ex.Message}");
+ }
+ finally { }
+ })
+ { IsBackground = true }.Start();
}
- catch (Exception ex)
+ else
{
- MainPage.Log($"HomePage LoadPage Error : {ex.Message}");
+
+ deviceFunctionView = new VerticalScrolViewLayout();
+ contentView.AddChidren(deviceFunctionView);
+ LoadDeviceFunctionControlZone();
+ sceneFunctionView = new VerticalScrolViewLayout();
+ contentView.AddChidren(sceneFunctionView);
+ LoadSceneFunctionControlZone();
+ contentView.PageIndex = 0;
+
+
+ LoadEvent_ChangeShowedFunctionType();
+
+ // 鏌ヨ鏈娑堟伅骞舵樉绀�
+ GetUnreadPushMessages();
+ RegisterGetPushMessageAction();
+
}
}
@@ -419,7 +459,6 @@
/// </summary>
void LoadDeviceFunctionControlZone()
{
-
#region ContextView
deviceFunctionView.RemoveAll();
functionViews.Clear();
@@ -430,7 +469,7 @@
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)
@@ -676,7 +715,11 @@
Tag = "state",
Text = function.lastState
};
- view.AddChidren(btnState);
+
+ if (function.spk != SPK.LightSwitch)
+ {
+ view.AddChidren(btnState);
+ }
Button btnCollection;
btnCollection = new Button()
@@ -696,8 +739,9 @@
}
LoadEvent_FunctionCollection(btnCollection, function);
-
- if (function.functionCategory == FunctionCategory.Curtain)
+ 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";
@@ -725,26 +769,26 @@
};
view.AddChidren(btnCurtainOpen);
- LoadEvent_ControlCurtain(function as Curtain, btnCurtainClose, btnCurtainOpen);
+ LoadEvent_ControlCurtain(function, btnCurtainClose, btnCurtainOpen);
}
- else if (function.functionType == FunctionType.TV)
+ else if (function.spk == SPK.ElectricTV || function.spk == SPK.TvIr)
{
btnIcon.UnSelectedImagePath = "FunctionIcon/Electrical/TVIcon.png";
Button btnPower;
btnPower = new Button()
{
X = Application.GetRealWidth(131),
- Y = Application.GetRealHeight(86),
+ Y = Application.GetRealHeight(70),
Width = Application.GetRealWidth(32),
Height = Application.GetRealWidth(32),
UnSelectedImagePath = "Public/PowerClose.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";
@@ -767,7 +811,8 @@
//Music.SendMethod.ReadStatus(a31player);
- btnPower.MouseUpEventHandler = (sender, e) => {
+ btnPower.MouseUpEventHandler = (sender, e) =>
+ {
if (btnPower.IsSelected)
{
btnPower.IsSelected = false;
@@ -786,6 +831,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;
@@ -800,57 +878,68 @@
};
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";
+
+ //switch (function.Spk_Prefix)
+ //{
+ // //todo 澧炲姞璁惧锛屼富椤垫敹钘忓浘鏍�
+ // case FunctionCategory.Light:
+ // #region 鐏厜 Light
+ // btnIcon.UnSelectedImagePath = "FunctionIcon/Light/LightIcon.png";
+ // btnIcon.SelectedImagePath = "FunctionIcon/Light/LightOnIcon.png";
+ // UpdataFunctionStates(function);
+ // #endregion
+ // break;
+ // case FunctionCategory.AC:
+ // #region 绌鸿皟 AC
+ // btnIcon.UnSelectedImagePath = "FunctionIcon/AC/AcIcon.png";
+ // btnIcon.SelectedImagePath = "FunctionIcon/AC/AcOnIcon.png";
+ // #endregion
+ // break;
+ // 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 SPK.ElectricSocket:
+ // btnIcon.UnSelectedImagePath = "FunctionIcon/Socket/SocketIcon.png";
+ // btnIcon.SelectedImagePath = "FunctionIcon/Socket/SocketOnIcon.png";
+ // break;
+ // case SPK.ElectricFan:
+ // btnIcon.UnSelectedImagePath = "FunctionIcon/Electrical/FanIcon.png";
+ // btnIcon.SelectedImagePath = "FunctionIcon/Electrical/FanOnIcon.png";
+ // break;
+ // case SPK.ElectricTuyaAirCleaner:
+ // btnIcon.SelectedImagePath = "FunctionIcon/HomePageIcon/AirCleanerIcon.png";
+ // btnIcon.UnSelectedImagePath = "FunctionIcon/HomePageIcon/AirCleanerIconOn.png";
+ // break;
+ // case SPK.ElectricTuyaFan:
+ // btnIcon.SelectedImagePath = "FunctionIcon/HomePageIcon/FanIcon.png";
+ // btnIcon.UnSelectedImagePath = "FunctionIcon/HomePageIcon/FanIconOn.png";
+ // break;
+ // case SPK.ElectricTuyaWaterValve:
+ // btnIcon.SelectedImagePath = "FunctionIcon/HomePageIcon/WaterValveIcon.png";
+ // btnIcon.UnSelectedImagePath = "FunctionIcon/HomePageIcon/WaterValveIconOn.png";
+ // break;
+ // case SPK.ElectricTuyaWeepRobot:
+ // btnIcon.SelectedImagePath = "FunctionIcon/HomePageIcon/WeepRobotIcon.png";
+ // btnIcon.UnSelectedImagePath = "FunctionIcon/HomePageIcon/WeepRobotIconOn.png";
+ // break;
+ // }
+ // break;
+ //}
LoadEvent_SwitchFunction(function, btnSwitch);
}
//鍙栨秷鏀惰棌浜嬩欢
Action cannelCollect = () => {
function.collect = false;
- if (function.functionCategory == FunctionCategory.Music)//澶勭悊闊充箰涓讳粠鍏崇郴
+ if (function.Spk_Prefix == FunctionCategory.Music)//澶勭悊闊充箰涓讳粠鍏崇郴
{
if ((function as Music.A31MusicModel).ServerClientType == 1)
{
@@ -860,8 +949,9 @@
}
string msg = function.name + Language.StringByID(StringId.CollectionCancelled);
LoadDeviceFunctionControlZone();
- function.SaveFunctionData(true);
+ function.CollectFunction();
};
+
var skipControlPageEvent = new PublicAssmebly().LoadEvent_SkipFunctionControlPage(function, btnCollection, btnName, btnZone);
view.MouseUpEventHandler = skipControlPageEvent;
@@ -869,7 +959,7 @@
btnIcon.MouseUpEventHandler = skipControlPageEvent;
btnState.MouseUpEventHandler = skipControlPageEvent;
//鐢佃涓嶉渶瑕佹洿鏂扮姸鎬�
- if(function.functionType!= FunctionType.TV)
+ if(function.spk!= SPK.ElectricTV)
{
UpdataFunctionStates(function);
}
@@ -915,7 +1005,10 @@
Width = Application.GetRealWidth(32),
UnSelectedImagePath = "Public/FuncInfoSetIcon_white.png",
};
- view.AddChidren(btnSettingIcon);
+ if (!DB_ResidenceData.Instance.CurrentRegion.IsOthreShare)
+ {
+ view.AddChidren(btnSettingIcon);
+ }
Button btnName;
btnName = new Button()
--
Gitblit v1.8.0