From fdbcb1f7463cb766f90bd29dd715485ba9d88524 Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期三, 06 九月 2023 17:55:03 +0800
Subject: [PATCH] Merge branch 'wxr-2.0' into Dev-Branch
---
HDL-ON_Android/Properties/AndroidManifest.xml | 2
HDL_ON/DAL/ThirdPartySdk/HDLLinphone.cs | 8
HDL_ON/UI/UI2/1-HomePage/HomePage.cs | 84 +--
DLL/Linphone/iOS/Shared.IOS.HDLLinphoneSDK.dll | 0
HDL-ON_iOS/HDL-ON_iOS.csproj | 1
HDL_ON/UI/UI2/FuntionControlView/Light/RGBPage.cs | 8
HDL_ON/UI/UI2/FuntionControlView/Light/DimmerPageBLL.cs | 120 +++-
HDL_ON/DAL/Mqtt/MqttClient.cs | 2
HDL-ON_Android/HDL-ON_Android.csproj | 7
HDL_ON/UI/UI2/1-HomePage/HomePageBLL.cs | 18
HDL_ON/UI/UI2/2-Classification/RoomPageBLL.cs | 82 +++
HDL_ON/UI/UI2/FuntionControlView/Light/ColorTureLampPageBLL.cs | 165 ++++--
HDL-ON_iOS/Info.plist | 4
HDL-ON_Android/Resources/Resource.designer.cs | 2
HDL-ON_iOS/Resources/Phone/Collection/GatewayOnlineTipIcon.png | 0
HDL_ON/UI/UI2/FuntionControlView/Light/GroupControlPage_V2.cs | 3
HDL_ON/UI/UI2/FuntionControlView/Light/RGBWPageBLL.cs | 172 ++++--
HDL_ON/UI/UI2/2-Classification/FunctionPageBLL.cs | 74 +++
HDL_ON/DAL/DriverLayer/Control.cs | 30
HDL_ON/UI/MainPage.cs | 5
DLL/Linphone/Android/Shared.Droid.HDLLinphone.dll | 0
HDL_ON/UI/UI1-Login/LoginPage.cs | 4
HDL-ON_Android/Assets/Phone/Collection/GatewayOnlineTipIcon.png | 0
SiriIntents/Server/HttpUtil.cs | 4
HDL_ON/UI/UI2/3-Intelligence/IntelligencePage.cs | 85 ++-
HDL_ON/UI/UI2/FuntionControlView/Light/RGBPageBLL.cs | 208 +++++---
HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs | 10
/dev/null | 0
HDL_ON/Entity/Function/Function.cs | 5
HDL_ON/UI/UI2/4-PersonalCenter/CombinedDimming/AddGroupControlPage.cs | 179 +++++---
HDL_ON/UI/UI2/3-Intelligence/Scene/SetSceneFunctionInfoPage.cs | 14
HDL_ON/DAL/Server/HttpServerRequest.cs | 1
32 files changed, 850 insertions(+), 447 deletions(-)
diff --git a/DLL/Linphone/Android/Shared.Droid.HDLLinphone.dll b/DLL/Linphone/Android/Shared.Droid.HDLLinphone.dll
index 773ddaa..601f377 100644
--- a/DLL/Linphone/Android/Shared.Droid.HDLLinphone.dll
+++ b/DLL/Linphone/Android/Shared.Droid.HDLLinphone.dll
Binary files differ
diff --git a/DLL/Linphone/Android/Shared.Droid.HDLLinphone1.dll b/DLL/Linphone/Android/Shared.Droid.HDLLinphone1.dll
deleted file mode 100644
index 8e7c9a7..0000000
--- a/DLL/Linphone/Android/Shared.Droid.HDLLinphone1.dll
+++ /dev/null
Binary files differ
diff --git a/DLL/Linphone/iOS/Shared.IOS.HDLLinphoneSDK.dll b/DLL/Linphone/iOS/Shared.IOS.HDLLinphoneSDK.dll
index eb3bd71..624d470 100644
--- a/DLL/Linphone/iOS/Shared.IOS.HDLLinphoneSDK.dll
+++ b/DLL/Linphone/iOS/Shared.IOS.HDLLinphoneSDK.dll
Binary files differ
diff --git a/HDL-ON_Android/Assets/Phone/Collection/GatewayOnlineTipIcon.png b/HDL-ON_Android/Assets/Phone/Collection/GatewayOnlineTipIcon.png
new file mode 100644
index 0000000..ecfcb33
--- /dev/null
+++ b/HDL-ON_Android/Assets/Phone/Collection/GatewayOnlineTipIcon.png
Binary files differ
diff --git a/HDL-ON_Android/HDL-ON_Android.csproj b/HDL-ON_Android/HDL-ON_Android.csproj
index f71fe68..9a632bf 100644
--- a/HDL-ON_Android/HDL-ON_Android.csproj
+++ b/HDL-ON_Android/HDL-ON_Android.csproj
@@ -598,6 +598,13 @@
<AndroidAsset Include="Assets\Phone\HisenseTv\yingliangjiaSelected.png" />
<AndroidAsset Include="Assets\Phone\FunctionIcon\EnvirSensor\IlluminationBg.png" />
<AndroidAsset Include="Assets\Phone\FunctionIcon\EnvirSensor\IlluminationIcon.png" />
+ <AndroidAsset Include="Assets\h5\static\js\pages-index-index~pages-inverter-index.0253e8cd.js" />
+ <AndroidAsset Include="Assets\h5\static\img\inverter-center.18b181f4.png" />
+ <AndroidAsset Include="Assets\h5\static\img\co2-reduction-ic.9c75228c.png" />
+ <AndroidAsset Include="Assets\h5\static\img\equal-plant-ic.7ef6befa.png" />
+ <AndroidAsset Include="Assets\h5\static\img\coal-save-ic.6c5fd125.png" />
+ <AndroidAsset Include="Assets\h5\static\font\SourceHanSansCN-Normal.otf" />
+ <AndroidAsset Include="Assets\Phone\Collection\GatewayOnlineTipIcon.png" />
</ItemGroup>
<ItemGroup>
<AndroidResource Include="Resources\values\colors.xml" />
diff --git a/HDL-ON_Android/Properties/AndroidManifest.xml b/HDL-ON_Android/Properties/AndroidManifest.xml
index eac25b1..15bac20 100644
--- a/HDL-ON_Android/Properties/AndroidManifest.xml
+++ b/HDL-ON_Android/Properties/AndroidManifest.xml
@@ -1,5 +1,5 @@
锘�<?xml version="1.0" encoding="utf-8"?>
-<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionName="2.1.2" package="com.hdl.onpro" xmlns:tools="http://schemas.android.com/tools" android:versionCode="202308171">
+<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionName="2.1.3" package="com.hdl.onpro" xmlns:tools="http://schemas.android.com/tools" android:versionCode="202309061">
<uses-sdk android:minSdkVersion="26" android:targetSdkVersion="29" />
<uses-permission android:name="android.permission.RECEIVE_SMS" />
<!--鍙嬬洘-->
diff --git a/HDL-ON_Android/Resources/Resource.designer.cs b/HDL-ON_Android/Resources/Resource.designer.cs
index 6536465..eab1586 100644
--- a/HDL-ON_Android/Resources/Resource.designer.cs
+++ b/HDL-ON_Android/Resources/Resource.designer.cs
@@ -15,7 +15,7 @@
{
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Xamarin.Android.Build.Tasks", "13.2.0.99")]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Xamarin.Android.Build.Tasks", "13.2.1.111")]
public partial class Resource
{
diff --git a/HDL-ON_iOS/HDL-ON_iOS.csproj b/HDL-ON_iOS/HDL-ON_iOS.csproj
index 0ddf75d..2f43e76 100644
--- a/HDL-ON_iOS/HDL-ON_iOS.csproj
+++ b/HDL-ON_iOS/HDL-ON_iOS.csproj
@@ -1752,6 +1752,7 @@
<BundleResource Include="Resources\Phone\HisenseTv\yingliangjiaSelected.png" />
<BundleResource Include="Resources\Phone\FunctionIcon\EnvirSensor\IlluminationBg.png" />
<BundleResource Include="Resources\Phone\FunctionIcon\EnvirSensor\IlluminationIcon.png" />
+ <BundleResource Include="Resources\Phone\Collection\GatewayOnlineTipIcon.png" />
</ItemGroup>
<ItemGroup>
<ITunesArtwork Include="iTunesArtwork" />
diff --git a/HDL-ON_iOS/Info.plist b/HDL-ON_iOS/Info.plist
index e9a471c..c3eadee 100644
--- a/HDL-ON_iOS/Info.plist
+++ b/HDL-ON_iOS/Info.plist
@@ -11,7 +11,7 @@
<key>CFBundleName</key>
<string>On Pro</string>
<key>CFBundleShortVersionString</key>
- <string>2.1.2</string>
+ <string>2.1.3</string>
<key>CFBundleURLTypes</key>
<array>
<dict>
@@ -36,7 +36,7 @@
</dict>
</array>
<key>CFBundleVersion</key>
- <string>2.1.2</string>
+ <string>2.1.3</string>
<key>LSApplicationQueriesSchemes</key>
<array>
<string>weixinULAPI</string>
diff --git a/HDL-ON_iOS/Resources/Phone/Collection/GatewayOnlineTipIcon.png b/HDL-ON_iOS/Resources/Phone/Collection/GatewayOnlineTipIcon.png
new file mode 100644
index 0000000..ecfcb33
--- /dev/null
+++ b/HDL-ON_iOS/Resources/Phone/Collection/GatewayOnlineTipIcon.png
Binary files differ
diff --git a/HDL_ON/DAL/DriverLayer/Control.cs b/HDL_ON/DAL/DriverLayer/Control.cs
index 85737d2..6955fab 100644
--- a/HDL_ON/DAL/DriverLayer/Control.cs
+++ b/HDL_ON/DAL/DriverLayer/Control.cs
@@ -732,8 +732,18 @@
}
else
{
- var pm = new DAL.Server.HttpServerRequest();
- var pack = pm.RefreshDeviceStatus(new List<string>() { function.deviceId });
+ var pm = new HttpServerRequest();
+ try
+ {
+ pm.RefreshDeviceStatus(new List<string>() { function.deviceId });
+ }catch(Exception ex)
+ {
+ MainPage.Log($"杩滅▼璇诲彇璁惧鐘舵�佸紓甯�:{ex.Message}");
+ }
+ finally
+ {
+ pm = null;
+ }
}
}
}
@@ -1312,16 +1322,6 @@
}
MainPage.Log(localFunction.name);
- if (Ins.GatewayOnline_Local && isCloudData)//鏈湴閾炬帴锛岄櫎浜嗘秱楦﹁澶囨暟鎹箣澶栫殑浜戠鏁版嵁涓嶅鐞�
- {
- if (!SPK.Get3tySpk(SPK.BrandType.All3tyBrand).Contains(localFunction.spk) && !SPK.MusicSpkList().Contains(localFunction.spk))
- {
- //MainPage.Log($"A鍗忚鏇存柊鐘舵��:鏈湴閾炬帴锛岄櫎浜嗘秱楦﹁澶囨暟鎹箣澶栫殑浜戠鏁版嵁涓嶅鐞�........");
-
- return;
- }
- }
-
//if (SPK.MusicSpkList().Contains(localFunction.spk))
//{
// if (updateTemp.status.Count < 3)
@@ -1342,6 +1342,11 @@
{
localFunction.online = updateTemp.online;
}
+ if (SPK.LightSpkList().Contains(localFunction.spk))
+ {
+ localFunction.updateTime = DateTime.Now;
+ }
+
//鏇存柊鐣岄潰鐘舵��
switch (localFunction.spk)
@@ -1606,6 +1611,7 @@
break;
}
+
HomePage.UpdataFunctionStates(localFunction);
RoomPage.UpdataStates(localFunction);
FunctionPage.UpdataStates(localFunction);
diff --git a/HDL_ON/DAL/Mqtt/MqttClient.cs b/HDL_ON/DAL/Mqtt/MqttClient.cs
index 3b1d20a..9c11563 100644
--- a/HDL_ON/DAL/Mqtt/MqttClient.cs
+++ b/HDL_ON/DAL/Mqtt/MqttClient.cs
@@ -553,7 +553,7 @@
{
var bytes = Securitys.EncryptionService.AesDecryptPayload(e.ApplicationMessage.Payload, tuyaEncryptKey);
var revString = Encoding.UTF8.GetString(bytes);
- MainPage.Log($"mqtt 鐘舵�佹洿鏂�:{revString}");
+ //MainPage.Log($"mqtt 鐘舵�佹洿鏂�:{revString}");
Control.Ins.UpdataFunctionStatus(revString, null, true);
//Control.Ins.MsgInfoList.Add($"mqtt 鐘舵�佹洿鏂�:{revString}");
//Control.Ins.MsgInfoList.Add(revString + "\r\n");
diff --git a/HDL_ON/DAL/Server/HttpServerRequest.cs b/HDL_ON/DAL/Server/HttpServerRequest.cs
index 25c2273..a3038f6 100644
--- a/HDL_ON/DAL/Server/HttpServerRequest.cs
+++ b/HDL_ON/DAL/Server/HttpServerRequest.cs
@@ -3649,7 +3649,6 @@
var pack = HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_GetGroupControlInfos, requestJson);
return pack;
}
-
/// <summary>
/// 鑾峰彇缇ゆ帶璇︽儏
/// </summary>
diff --git a/HDL_ON/DAL/ThirdPartySdk/HDLLinphone.cs b/HDL_ON/DAL/ThirdPartySdk/HDLLinphone.cs
index 50bd1a2..e782a1a 100644
--- a/HDL_ON/DAL/ThirdPartySdk/HDLLinphone.cs
+++ b/HDL_ON/DAL/ThirdPartySdk/HDLLinphone.cs
@@ -454,7 +454,13 @@
#if __IOS__
- Shared.IOS.HDLLinphoneSDK.HDLLinPhoneSDK.Instance().CallWithUserName(mHDLCallVideoInfo.DeviceSipAccount, mHDLCallVideoInfo.DeviceName);
+ if (mHDLCallVideoInfo.spk == "door.gate")
+ {
+ Shared.IOS.HDLLinphoneSDK.HDLLinPhoneSDK.Instance().CallHDLSRWithUserName(mHDLCallVideoInfo.DeviceSipAccount, mHDLCallVideoInfo.DeviceName);
+ }else{
+ Shared.IOS.HDLLinphoneSDK.HDLLinPhoneSDK.Instance().CallWithUserName(mHDLCallVideoInfo.DeviceSipAccount, mHDLCallVideoInfo.DeviceName);
+ }
+
#else
//1.鍏堝懠鍙澶�
diff --git a/HDL_ON/Entity/Function/Function.cs b/HDL_ON/Entity/Function/Function.cs
index afb0f09..b8a2894 100644
--- a/HDL_ON/Entity/Function/Function.cs
+++ b/HDL_ON/Entity/Function/Function.cs
@@ -1060,6 +1060,11 @@
/// 鏇存柊鏃堕棿
/// </summary>
public DateTime refreshTime = DateTime.MinValue;
+ /// <summary>
+ /// 鏈�鍚庢洿鏂扮姸鎬佺殑鏃堕棿
+ /// </summary>
+ [Newtonsoft.Json.JsonIgnore]
+ public DateTime updateTime = DateTime.MinValue;
/// <summary>
/// 鑾峰彇鏈湴鎺у埗鏁版嵁
diff --git a/HDL_ON/UI/MainPage.cs b/HDL_ON/UI/MainPage.cs
index e704e17..9183580 100644
--- a/HDL_ON/UI/MainPage.cs
+++ b/HDL_ON/UI/MainPage.cs
@@ -26,7 +26,7 @@
/// <summary>
/// 鐗堟湰鍙�
/// </summary>
- public static string VersionString = "2.1.2";
+ public static string VersionString = "2.1.3";
///// <summary>
///// 瀹㈡埛绔被鍨�
///// </summary>
@@ -634,7 +634,8 @@
|| msg.Contains("鍙戦��")
|| msg.Contains("鎺ユ敹鍒版帹閫�")
|| msg.Contains("api")
-
+ || msg.Contains("璇诲彇鍔熻兘鐘舵��")
+ //|| true
)
Console.WriteLine(msg);
#endif
diff --git a/HDL_ON/UI/UI1-Login/LoginPage.cs b/HDL_ON/UI/UI1-Login/LoginPage.cs
index ebf1170..5662f9d 100644
--- a/HDL_ON/UI/UI1-Login/LoginPage.cs
+++ b/HDL_ON/UI/UI1-Login/LoginPage.cs
@@ -311,7 +311,6 @@
//etAccount.Text = "18244942707";
//etAccount.Text = "13143792049";
etAccount.Text = "18688414428";//澶╂渤3妤�
- //etAccount.Text = "18244942707";
//etAccount.Text = "13418062953";
etAccount.Text = "13138683659";
//etAccount.Text = "15217626103";
@@ -326,6 +325,7 @@
etAccount.Text = "pjh@hdlchina.com.cn";
//etAccount.Text = "12345678904";//2.0 娴嬭瘯 钀ょ煶
etAccount.Text = "18316672920";
+ etAccount.Text = "18244942707";
}
else
{
@@ -386,7 +386,7 @@
};
#endif
-#region 鐧诲綍鏂瑰紡閫夋嫨
+ #region 鐧诲綍鏂瑰紡閫夋嫨
btnPhoneLogin = new Button()
{
X = Application.GetRealWidth(28),
diff --git a/HDL_ON/UI/UI2/1-HomePage/HomePage.cs b/HDL_ON/UI/UI2/1-HomePage/HomePage.cs
index eb216d9..2257bfa 100644
--- a/HDL_ON/UI/UI2/1-HomePage/HomePage.cs
+++ b/HDL_ON/UI/UI2/1-HomePage/HomePage.cs
@@ -30,7 +30,7 @@
/// <summary>
/// 杩炴帴鐘舵�佹彁绀�
/// </summary>
- Button btnLinkStateTip;
+ FrameLayout divLinkStateTip;
/// <summary>
/// 瀹夐槻鐘舵�佸浘鏍�
/// </summary>
@@ -213,69 +213,35 @@
IsBold = true
};
topView.AddChidren(btnResidenceName);
- btnLinkStateTip = new Button()
+
+ divLinkStateTip = new FrameLayout()
{
- //X = Application.GetRealWidth(16),
- Y = btnResidenceName.Bottom,
- Height = Application.GetRealWidth(14),
- //BackgroundColor = CSS_Color.LinkTipFail,
- TextAlignment = TextAlignment.Center,
+ Y = Application.GetRealHeight(113) - Application.GetRealWidth(24),
+ Height = Application.GetRealWidth(24),
+ BackgroundColor = 0xFFFF4747,
+ Visible = false,
+ };
+ topView.AddChidren(divLinkStateTip);
+ Button btnLinkStateIcon = new Button()
+ {
+ X = Application.GetRealWidth(16),
+ Gravity = Gravity.CenterVertical,
+ Width = Application.GetRealWidth(20),
+ Height = Application.GetRealWidth(20),
+ UnSelectedImagePath = "Collection/GatewayOnlineTipIcon.png"
+ };
+ divLinkStateTip.AddChidren(btnLinkStateIcon);
+
+ var btnLinkStateTip = new Button()
+ {
+ X = btnLinkStateIcon.Right + Application.GetRealWidth(4),
+ TextAlignment = TextAlignment.CenterLeft,
TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
TextColor = CSS_Color.MainBackgroundColor,
+ TextID = StringId.NetworkAnomaly,
};
- topView.AddChidren(btnLinkStateTip);
- //btnLinkStateTip.Width = btnLinkStateTip.GetTextWidth();
+ divLinkStateTip.AddChidren(btnLinkStateTip);
//鏇存柊閾炬帴鐘舵�乮con棰滆壊
-
-
-#if DEBUG
- int ddd = 0;
- btnResidenceName.MouseUpEventHandler = (sender, e) =>
- {
- //827a98c98da7469b8bc19bb6a3c7651906
- //St_00009073b431d8b2490c9df0c5cb0e73
- //Com.Hdl.HdlToLc.InitData(Shared.Application.Activity,false, "827a98c98da7469b8bc19bb6a3c7651906");
- //Com.Hdl.HdlToLc.OpenActivity();
- //new System.Threading.Thread(() =>
- //{
- // var http = new HttpServerRequest();
- // var pack = http.GetLcSubAccountToken();
- // if (pack.Code == StateCode.SUCCESS)
- // {
- // if(pack.Data == null || string.IsNullOrEmpty(pack.Data.ToString()))
- // {
- // Application.RunOnMainThread(() =>
- // {
- // new PublicAssmebly().TipMsg(Language.StringByID(StringId.Tip), Language.StringByID(StringId.huoqushujushibao));
- // });
- // }
- // Com.Utils.HdlToLcUtils.Instance.HomeId = DB_ResidenceData.Instance.CurrentRegion.id;
- // Com.Utils.HdlToLcUtils.Instance.Token = UserInfo.Current.AccessToken;
- // Com.Utils.HdlToLcUtils.Instance.SubAccessToken = pack.Data.ToString();
- // Application.RunOnMainThread(() =>
- // {
- // //Com.Utils.HdlToLcUtils.Instance.OpenActivity();
- // //Com.Utils.HdlToLcUtils.Instance.Play()
- // var backTemp = new AddLcCam();
- // backTemp.backAction = () =>
- // {
- // //Load3tyBrandDeviceList();
- // };
- // Com.Utils.HdlToLcUtils.Instance.AddCamera(backTemp);
- // });
- // }
- // else
- // {
- // Application.RunOnMainThread(() =>
- // {
- // new PublicAssmebly().TipMsg(Language.StringByID(StringId.Tip), Language.StringByID(StringId.huoqushujushibao) + $"({pack.Code})");
- // });
- // }
- //})
- //{ IsBackground = true }.Start();
- };
-#endif
-
environmentalView = new FrameLayout()
{
Y = Application.GetRealHeight(1) + btnResidenceName.Bottom,
diff --git a/HDL_ON/UI/UI2/1-HomePage/HomePageBLL.cs b/HDL_ON/UI/UI2/1-HomePage/HomePageBLL.cs
index fa26fd2..34599ea 100644
--- a/HDL_ON/UI/UI2/1-HomePage/HomePageBLL.cs
+++ b/HDL_ON/UI/UI2/1-HomePage/HomePageBLL.cs
@@ -269,15 +269,15 @@
if (!Control.Ins.GatewayOnline_Local && !Control.Ins.GatewayOnline_Cloud)
{
- bodyView.btnLinkStateTip.BackgroundColor = CSS.CSS_Color.LinkTipFail;
- bodyView.btnLinkStateTip.TextID = StringId.NetworkAnomaly;
- bodyView.environmentalView.Y = Application.GetRealHeight(8) + btnResidenceName.Bottom;
+ bodyView.divLinkStateTip.Visible = true;
}
+ //else if ()
+ //{
+ // bodyView.divLinkStateTip.Visible = true;
+ //}
else
{
- bodyView.btnLinkStateTip.BackgroundColor = 0x00000000;
- bodyView.btnLinkStateTip.Text = "";
- bodyView.environmentalView.Y = Application.GetRealHeight(1) + btnResidenceName.Bottom;
+ bodyView.divLinkStateTip.Visible = false;
}
}
@@ -351,11 +351,17 @@
}
}
+ object lockObj = new object();
+
/// <summary>
/// 鏇存柊鏄剧ず鐘舵��
/// </summary>
public static void UpdataFunctionStates(Function function)
{
+ if(bodyView == null)
+ {
+ return;
+ }
Application.RunOnMainThread(() =>
{
try
diff --git a/HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs b/HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs
index a26909b..6fca48a 100644
--- a/HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs
+++ b/HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs
@@ -89,14 +89,14 @@
#region top
FrameLayout topView = new FrameLayout()
{
- Height = Application.GetRealHeight(64),
+ Height = Application.GetRealHeight(74),
BackgroundColor = CSS_Color.TopViewColor,
};
bodyView.AddChidren(topView);
btnRoomTilte = new Button()
{
- Y = Application.GetRealHeight(30),
+ Y = Application.GetRealHeight(40),
Width = Application.GetRealWidth(170),
Height = Application.GetRealHeight(25),
TextAlignment = TextAlignment.CenterRight,
@@ -111,7 +111,7 @@
btnFuncTitle = new Button()
{
X = Application.GetRealWidth(209),
- Y = Application.GetRealHeight(30),
+ Y = Application.GetRealHeight(40),
Width = Application.GetRealWidth(170),
Height = Application.GetRealHeight(25),
TextAlignment = TextAlignment.CenterLeft,
@@ -125,8 +125,8 @@
contentPageView = new PageLayout()
{
- Y = Application.GetRealHeight(64),
- Height = Application.GetRealHeight(667 - 64 - 49 + 30),
+ Y = Application.GetRealHeight(74),
+ Height = Application.GetRealHeight(667 - 74 - 49 + 30),
BackgroundColor = CSS_Color.MainBackgroundColor,
IsShowPoint = false
};
diff --git a/HDL_ON/UI/UI2/2-Classification/FunctionPageBLL.cs b/HDL_ON/UI/UI2/2-Classification/FunctionPageBLL.cs
index 8e87e01..0069a00 100644
--- a/HDL_ON/UI/UI2/2-Classification/FunctionPageBLL.cs
+++ b/HDL_ON/UI/UI2/2-Classification/FunctionPageBLL.cs
@@ -4,13 +4,85 @@
{
public partial class FunctionPage
{
+ System.Threading.Thread updateUiThread;
+ object lockObj = new object();
/// <summary>
/// 鏇存柊鍔熻兘鍒楄〃鐣岄潰鍔熻兘鐘舵��
/// </summary>
/// <param name="function"></param>
public static void UpdataStates(Function function)
{
- new ClassificaitionPublicBLL().UpdataStates(function, bodyView, functionListView);
+ try
+ {
+ if (bodyView == null)
+ {
+ return;
+ }
+ //if (SPK.LightSpkList().Contains(function.spk))
+ //{
+
+ // {
+ // var localFunction = FunctionList.List.GetLightList().Find((obj) => obj.sid == function.sid);
+ // {
+ // if (localFunction != null)
+ // {
+ // if (bodyView.updateUiThread == null)
+ // {
+ // bodyView.updateUiThread = new System.Threading.Thread(() =>
+ // {
+ // lock (bodyView.lockObj)
+ // {
+ // if (bodyView.updateUiThread == null)
+ // {
+ // MainPage.Log("绾跨▼琚疆绌轰簡锛侊紒");
+ // return;
+ // }
+ // try
+ // {
+ // while (true)
+ // {
+ // System.Threading.Thread.Sleep(1500);
+ // if (bodyView == null)
+ // {
+ // return;
+ // }
+ // if (DateTime.Now.AddMilliseconds(-1500) > localFunction.updateTime)
+ // {
+ // MainPage.Log("娌℃湁鏂版暟鎹紝鏇存柊UI");
+ // break;
+ // }
+ // else
+ // {
+ // MainPage.Log("鏈夋柊鏁版嵁锛岀户缁瓑寰�");
+ // }
+ // }
+ // new ClassificaitionPublicBLL().UpdataStates(localFunction, bodyView, functionListView);
+ // }
+ // catch (Exception ex)
+ // {
+ // MainPage.Log("FunctionPage UpdateStates error 2 :" + ex.Message);
+ // }
+ // finally
+ // {
+ // //bodyView.updateUiThread = null;
+ // }
+ // }
+ // });
+ // bodyView.updateUiThread.IsBackground = true;
+ // bodyView.updateUiThread.Start();
+ // }
+ // }
+ // }
+ // }
+ //}
+ //else
+ {
+ new ClassificaitionPublicBLL().UpdataStates(function, bodyView, functionListView);
+ }
+ }catch(Exception ex)
+ {
+ MainPage.Log("FunctionPage UpdateStates error " + ex.Message);
+ }
}
public static void UpdataOnline(Function function)
diff --git a/HDL_ON/UI/UI2/2-Classification/RoomPageBLL.cs b/HDL_ON/UI/UI2/2-Classification/RoomPageBLL.cs
index 5323666..5435079 100644
--- a/HDL_ON/UI/UI2/2-Classification/RoomPageBLL.cs
+++ b/HDL_ON/UI/UI2/2-Classification/RoomPageBLL.cs
@@ -6,13 +6,93 @@
{
public partial class RoomPage
{
+ System.Threading.Thread updateUiThread;
+ object lockObj = new object();
/// <summary>
/// 鏇存柊鍔熻兘鐘舵��
/// </summary>
/// <param name="function"></param>
public static void UpdataStates(Function function)
{
- new ClassificaitionPublicBLL().UpdataStates(function, bodyView, functionListView,room);
+
+ try
+ {
+ if (bodyView == null)
+ {
+ return;
+ }
+ //if (SPK.LightSpkList().Contains(function.spk))
+ //{
+ // {
+ // var localFunction = FunctionList.List.GetLightList().Find((obj) => obj.sid == function.sid);
+ // {
+ // if (localFunction != null)
+ // {
+ // if (bodyView.updateUiThread == null)
+ // {
+ // bodyView.updateUiThread = new System.Threading.Thread(() =>
+ // {
+ // lock (bodyView.lockObj)
+ // {
+ // try
+ // {
+ // while (true)
+ // {
+ // try
+ // {
+ // System.Threading.Thread.Sleep(1500);
+ // if (bodyView == null)
+ // {
+ // return;
+ // }
+ // if (bodyView.updateUiThread == null)
+ // {
+ // return;
+ // }
+ // if (DateTime.Now.AddMilliseconds(-1500) > localFunction.updateTime)
+ // {
+ // MainPage.Log("娌℃湁鏂版暟鎹紝鏇存柊UI");
+ // break;
+ // }
+ // else
+ // {
+ // MainPage.Log("鏈夋柊鏁版嵁锛岀户缁瓑寰�");
+ // }
+ // }
+ // catch (Exception ex)
+ // {
+ // MainPage.Log("绾跨▼寮傚父:" + ex.Message);
+ // }
+ // }
+ // new ClassificaitionPublicBLL().UpdataStates(function, bodyView, functionListView, room);
+ // }
+ // catch (Exception ex)
+ // {
+ // MainPage.Log("FunctionPage UpdateStates error 2 :" + ex.Message);
+ // }
+ // finally
+ // {
+ // //bodyView.updateUiThread = null;
+ // }
+ // }
+ // });
+ // bodyView.updateUiThread.IsBackground = true;
+ // bodyView.updateUiThread.Start();
+ // }
+ // }
+ // }
+ // }
+ //}
+ //else
+ {
+ new ClassificaitionPublicBLL().UpdataStates(function, bodyView, functionListView,room);
+ }
+ }
+ catch (Exception ex)
+ {
+ MainPage.Log("FunctionPage UpdateStates error " + ex.Message);
+ }
+
}
public static void UpdataOnline(Function function)
{
diff --git a/HDL_ON/UI/UI2/3-Intelligence/IntelligencePage.cs b/HDL_ON/UI/UI2/3-Intelligence/IntelligencePage.cs
index 13115eb..c5c07c0 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/IntelligencePage.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/IntelligencePage.cs
@@ -76,7 +76,7 @@
#region top
topView = new FrameLayout()
{
- Height = Application.GetRealHeight(64),
+ Height = Application.GetRealHeight(74),
BackgroundColor = CSS_Color.TopViewColor,
};
bodyView.AddChidren(topView);
@@ -122,7 +122,7 @@
btnSceneTilte = new Button()
{
- Y = Application.GetRealHeight(30),
+ Y = Application.GetRealHeight(40),
//Width = Application.GetRealWidth(170),
Height = Application.GetRealHeight(25),
TextAlignment = TextAlignment.Center,
@@ -143,7 +143,7 @@
{
btnAutomationTitle = new Button()
{
- Y = Application.GetRealHeight(30),
+ Y = Application.GetRealHeight(40),
Gravity = Gravity.CenterHorizontal,
Height = Application.GetRealHeight(25),
TextAlignment = TextAlignment.Center,
@@ -162,7 +162,7 @@
btnSceneTilte = new Button()
{
- Y = Application.GetRealHeight(30),
+ Y = Application.GetRealHeight(40),
Width = otherWidth,
Height = Application.GetRealHeight(25),
TextAlignment = TextAlignment.CenterRight,
@@ -178,7 +178,7 @@
btnSecurityTitle = new Button()
{
X = btnAutomationTitle.Right,
- Y = Application.GetRealHeight(30),
+ Y = Application.GetRealHeight(40),
Width = otherWidth,
Height = Application.GetRealHeight(25),
TextAlignment = TextAlignment.CenterLeft,
@@ -193,7 +193,7 @@
{
btnSceneTilte = new Button()
{
- Y = Application.GetRealHeight(30),
+ Y = Application.GetRealHeight(40),
Width = Application.GetRealWidth(170),
Height = Application.GetRealHeight(25),
TextAlignment = TextAlignment.CenterRight,
@@ -208,7 +208,7 @@
btnAutomationTitle = new Button()
{
X = Application.GetRealWidth(209),
- Y = Application.GetRealHeight(30),
+ Y = Application.GetRealHeight(40),
Width = Application.GetRealWidth(170),
Height = Application.GetRealHeight(25),
TextAlignment = TextAlignment.CenterLeft,
@@ -223,7 +223,7 @@
btnAddIconBg = new Button()
{
X = Application.GetRealWidth(337),
- Y = Application.GetRealHeight(29),
+ Y = Application.GetRealHeight(39),
Width = Application.GetMinRealAverage(28),
Height = Application.GetMinRealAverage(28),
UnSelectedImagePath = "Public/AddIcon.png",
@@ -240,8 +240,8 @@
contentPageView = new PageLayout()
{
- Y = Application.GetRealHeight(64),
- Height = Application.GetRealHeight(667 - 64 - 49 + 30),
+ Y = Application.GetRealHeight(74),
+ Height = Application.GetRealHeight(667 - 74 - 49 + 30),
BackgroundColor = CSS_Color.BackgroundColor,
IsShowPoint = false
};
@@ -399,36 +399,49 @@
var rowView = new FrameLayout();
new System.Threading.Thread(() =>
{
- foreach (var scene in listScene)
+ try
{
- if(scene == null)
+ foreach (var scene in listScene)
{
- continue;
+ if (scene == null)
+ {
+ continue;
+ }
+ if (scene.sceneType == SceneType.LightScene)
+ {
+ continue;
+ }
+ System.Threading.Thread.Sleep(10);
+ Application.RunOnMainThread(() =>
+ {
+ if (index % 2 == 0)
+ {
+ rowView = new FrameLayout()
+ {
+ Height = Application.GetRealWidth(122),
+ };
+ sceneFunctionView.AddChidren(rowView);
+ sceneFunctionView.AddChidren(new Button()
+ {
+ Height = Application.GetRealHeight(7 + 7),
+ });
+ }
+ var functionView_X = Application.GetRealWidth((16 + 164) * (index % 2) + 16);
+
+ var functionView = LoadSceneFunctionDiv(functionView_X, scene);
+ rowView.AddChidren(functionView);
+ index++;
+ });
}
- if(scene.sceneType == SceneType.LightScene)
- {
- continue;
- }
- System.Threading.Thread.Sleep(10);
+ }catch(Exception ex)
+ {
+ MainPage.Log($"鍔犺浇鍦烘櫙鍒楄〃寮傚父锛歿ex.Message}");
+ }
+ finally
+ {
Application.RunOnMainThread(() =>
{
- if (index % 2 == 0)
- {
- rowView = new FrameLayout()
- {
- Height = Application.GetRealWidth(122),
- };
- sceneFunctionView.AddChidren(rowView);
- sceneFunctionView.AddChidren(new Button()
- {
- Height = Application.GetRealHeight(7 + 7),
- });
- }
- var functionView_X = Application.GetRealWidth((16 + 164) * (index % 2) + 16);
-
- var functionView = LoadSceneFunctionDiv(functionView_X, scene);
- rowView.AddChidren(functionView);
- index++;
+ sceneFunctionView.AddChidren(new Button { Height = Application.GetRealHeight(30) });
});
}
})
@@ -439,8 +452,6 @@
{
MainPage.Log("homepage erorr : " + ex.Message);
}
- sceneFunctionView.AddChidren(new Button { Height = Application.GetRealHeight(30) });
-
}
/// <summary>
diff --git a/HDL_ON/UI/UI2/3-Intelligence/Scene/SetSceneFunctionInfoPage.cs b/HDL_ON/UI/UI2/3-Intelligence/Scene/SetSceneFunctionInfoPage.cs
index f75ceef..62dc7d0 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Scene/SetSceneFunctionInfoPage.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Scene/SetSceneFunctionInfoPage.cs
@@ -79,13 +79,13 @@
if (sceneFunction.localFunction.spk == SPK.LightRGB || sceneFunction.localFunction.spk == SPK.GroupControl)
{
- //var colorfulStatus = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Colorful);
- //if (colorfulStatus != null)
- //{
- // isColorful = true;
- // LoadColorfulRow(colorfulStatus);
- // isColorful = colorfulStatus.value == "on";
- //}
+ var colorfulStatus = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Colorful);
+ if (colorfulStatus != null)
+ {
+ isColorful = true;
+ LoadColorfulRow(colorfulStatus);
+ isColorful = colorfulStatus.value == "on";
+ }
}
foreach (var attr in sceneFunction.status)
{
diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/CombinedDimming/AddGroupControlPage.cs b/HDL_ON/UI/UI2/4-PersonalCenter/CombinedDimming/AddGroupControlPage.cs
index b5f70fd..1066e2f 100644
--- a/HDL_ON/UI/UI2/4-PersonalCenter/CombinedDimming/AddGroupControlPage.cs
+++ b/HDL_ON/UI/UI2/4-PersonalCenter/CombinedDimming/AddGroupControlPage.cs
@@ -441,92 +441,137 @@
MainPage.Log($"鏂板缇ゆ帶杞崲鏁版嵁寮傚父:{ex.Message}");
}
}
- try
+ var waitPage = new Loading();
+ bodyView.AddChidren(waitPage);
+ waitPage.Start("");
+ new Thread(() =>
{
- groupControl.type = groupControlType.type;
- groupControl.sid = groupControl.NewGroupControlSid();
- var pack = Common.ApiUtlis.Ins.HttpRequest.AddGroupControl(new List<GroupControl>() { groupControl });
- if (pack != null)
+ try
{
- if (pack.Code == StateCode.SUCCESS)
+ groupControl.type = groupControlType.type;
+ groupControl.sid = groupControl.NewGroupControlSid();
+ var pack = ApiUtlis.Ins.HttpRequest.AddGroupControl(new List<GroupControl>() { groupControl });
+ if (pack != null)
{
+ if (pack.Code == StateCode.SUCCESS)
+ {
+ try
+ {
+ var addTemp = Newtonsoft.Json.JsonConvert.DeserializeObject<List<GroupControl>>(pack.Data.ToString());
+ if (addTemp != null && addTemp.Count > 0)
+ groupControl.userDeviceGroupControlId = addTemp[0].userDeviceGroupControlId;
+ FunctionList.List.groupControls.Add(groupControl);
+ }
+ catch (Exception ex)
+ {
+ MainPage.Log($"娣诲姞缇ゆ帶寮傚父锛岃浆璇戣繑鍥炴暟鎹け璐�:{ex.Message}");
+ }
+ Application.RunOnMainThread(() =>
+ {
+ addActon?.Invoke(groupControl);
+ this.RemoveFromParent();
+ });
+ }
+ else
+ {
+ IMessageCommon.Current.ShowErrorInfoAlter(pack.Code);
+ }
+ }
+
+ }
+ catch (Exception ex)
+ {
+ MainPage.Log($"鏂板缇ゆ帶寮傚父:{ex.Message}");
+ }
+ finally
+ {
+ Application.RunOnMainThread(() => {
try
{
- var addTemp = Newtonsoft.Json.JsonConvert.DeserializeObject<List<GroupControl>>(pack.Data.ToString());
- if (addTemp != null && addTemp.Count > 0)
- groupControl.userDeviceGroupControlId = addTemp[0].userDeviceGroupControlId;
- FunctionList.List.groupControls.Add(groupControl);
+ waitPage.Hide();
+ waitPage = null;
}
- catch (Exception ex)
- {
- MainPage.Log($"娣诲姞缇ゆ帶寮傚父锛岃浆璇戣繑鍥炴暟鎹け璐�:{ex.Message}");
- }
- addActon?.Invoke(groupControl);
- this.RemoveFromParent();
- }
- else
- {
- IMessageCommon.Current.ShowErrorInfoAlter(pack.Code);
- }
+ catch { }
+ });
}
- }
- catch (Exception ex)
- {
- MainPage.Log($"鏂板缇ゆ帶寮傚父:{ex.Message}");
- }
+ })
+ { IsBackground = true }.Start();
}
else
{
- try
+ var waitPage = new Loading();
+ bodyView.AddChidren(waitPage);
+ waitPage.Start("");
+ new Thread(() =>
{
- //var newEditDataString = Newtonsoft.Json.JsonConvert.SerializeObject(this.groupControl);
- //var newEditDataString1 = Newtonsoft.Json.JsonConvert.SerializeObject(groupControlLightList);
- //var newEditDataString2 = Newtonsoft.Json.JsonConvert.SerializeObject(this.groupControl.sids);
- ////娌℃湁鏇存柊鏁版嵁鍒欑洿鎺ラ��鍑�
- //if (newEditDataString == editDataString && newEditDataString1 == newEditDataString2)
- //{
- // this.RemoveFromParent();
- // return;
- //}
- groupControl.sids.Clear();
- foreach (var light in groupControlLightList)
+ try
{
- try
+ //var newEditDataString = Newtonsoft.Json.JsonConvert.SerializeObject(this.groupControl);
+ //var newEditDataString1 = Newtonsoft.Json.JsonConvert.SerializeObject(groupControlLightList);
+ //var newEditDataString2 = Newtonsoft.Json.JsonConvert.SerializeObject(this.groupControl.sids);
+ ////娌℃湁鏇存柊鏁版嵁鍒欑洿鎺ラ��鍑�
+ //if (newEditDataString == editDataString && newEditDataString1 == newEditDataString2)
+ //{
+ // this.RemoveFromParent();
+ // return;
+ //}
+ groupControl.sids.Clear();
+ foreach (var light in groupControlLightList)
{
- var gc = new GroupControlFunction();
- gc.sid = light.sid;
- gc.spk = light.spk;
- groupControl.sids.Add(gc);
- }
- catch (Exception ex)
- {
- MainPage.Log($"鏂板缇ゆ帶杞崲鏁版嵁寮傚父:{ex.Message}");
- }
- }
-
- var pack = Common.ApiUtlis.Ins.HttpRequest.EditGroupControl(new List<GroupControl>() { groupControl });
- if (pack != null)
- {
- if (pack.Code == StateCode.SUCCESS)
- {
- var temp = FunctionList.List.groupControls.Find((obj) => obj.userDeviceGroupControlId == groupControl.userDeviceGroupControlId);
- if(temp!= null)
+ try
{
- temp = groupControl;
+ var gc = new GroupControlFunction();
+ gc.sid = light.sid;
+ gc.spk = light.spk;
+ groupControl.sids.Add(gc);
}
- addActon?.Invoke(temp);
- this.RemoveFromParent();
+ catch (Exception ex)
+ {
+ MainPage.Log($"鏂板缇ゆ帶杞崲鏁版嵁寮傚父:{ex.Message}");
+ }
}
- else
+
+ var pack = ApiUtlis.Ins.HttpRequest.EditGroupControl(new List<GroupControl>() { groupControl });
+ if (pack != null)
{
- IMessageCommon.Current.ShowErrorInfoAlter(pack.Code);
+ if (pack.Code == StateCode.SUCCESS)
+ {
+ var temp = FunctionList.List.groupControls.Find((obj) => obj.userDeviceGroupControlId == groupControl.userDeviceGroupControlId);
+ if (temp != null)
+ {
+ temp = groupControl;
+ }
+ Application.RunOnMainThread(() =>
+ {
+ addActon?.Invoke(temp);
+ this.RemoveFromParent();
+ });
+ }
+ else
+ {
+ IMessageCommon.Current.ShowErrorInfoAlter(pack.Code);
+ }
}
}
- }
- catch (Exception ex)
- {
- MainPage.Log($"缂栬緫缇ゆ帶寮傚父:{ex.Message}");
- }
+ catch (Exception ex)
+ {
+ MainPage.Log($"缂栬緫缇ゆ帶寮傚父:{ex.Message}");
+ }
+ finally
+ {
+ Application.RunOnMainThread(() =>
+ {
+ try
+ {
+ waitPage.Hide();
+ waitPage = null;
+ }
+ catch { }
+ });
+
+ }
+ })
+ { IsBackground = true }.Start();
}
}
diff --git a/HDL_ON/UI/UI2/FuntionControlView/Light/ColorTureLampPageBLL.cs b/HDL_ON/UI/UI2/FuntionControlView/Light/ColorTureLampPageBLL.cs
index ad7b605..c9d675a 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Light/ColorTureLampPageBLL.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Light/ColorTureLampPageBLL.cs
@@ -6,52 +6,99 @@
namespace HDL_ON.UI
{
public partial class ColorTureLampPage
- {
+ {
+ /// <summary>
+ /// 閫氱煡鏇存柊鐣岄潰鐨勬椂闂�
+ /// </summary>
+ DateTime notiyUpdateTime = DateTime.MinValue;
+ System.Threading.Thread updateUiThread;
+ object lockObj = new object();
/// <summary>
/// 鏇存柊鍔熻兘鐘舵��
/// </summary>
public static void UpdataStatus(Function updataTemp)
- {
- Application.RunOnMainThread(() =>
- {
- try
- {
- if (bodyView == null)
- return;
- if (updataTemp.spk == bodyView.function.spk && updataTemp.sid == bodyView.function.sid)
- {
- if (updataTemp.trait_on_off.curValue.ToString() == "on")
- {
- bodyView.dimmerBar.SetProgressBarColors(CSS_Color.AuxiliaryColor1, CSS_Color.AuxiliaryColor1);
- if (!bodyView.onDimmerBar)
- {
- bodyView.dimmerBar.Progress = Convert.ToInt32(updataTemp.GetAttrState(FunctionAttributeKey.Brightness));
- }
- if (updataTemp.GetAttrState(FunctionAttributeKey.Brightness) != "0")
- {
- bodyView.btnBrightnessText.Text = updataTemp.GetAttrState(FunctionAttributeKey.Brightness) + "%";
- bodyView.btnBrightnessText.Y = ((100 - Convert.ToInt32(updataTemp.GetAttrState(FunctionAttributeKey.Brightness))) * Application.GetRealHeight(222 - 16) / 100) + Application.GetRealWidth(80);
- }
- }
- else
- {
- bodyView.dimmerBar.SetProgressBarColors(CSS_Color.DividingLineColor, CSS_Color.DividingLineColor);
- }
- bodyView.btnSwitch.IsSelected = updataTemp.trait_on_off.curValue.ToString() == "on";
- bodyView.barColorTemplatrue.Enable = updataTemp.trait_on_off.curValue.ToString() == "on";
- var cct = 27;
- int.TryParse(updataTemp.GetAttrState(FunctionAttributeKey.CCT), out cct);
- bodyView.barColorTemplatrue.Progress = cct / 100;
- //璁剧疆鍒濆鍊�
- bodyView.barColorTemplatrue.SetCustomText(bodyView.barColorTemplatrue.Progress * 100 + "K");
-
- }
- }
- catch (Exception ex)
- {
- MainPage.Log($"{bodyView.GetType().Name } UpdataStates error : {ex.Message}");
- }
- });
+ {
+ if(bodyView == null)
+ {
+ return;
+ }
+ lock (bodyView.lockObj)
+ {
+ MainPage.Log($"鏀跺埌鏇存柊" + DateTime.Now.Ticks);
+ bodyView.notiyUpdateTime = DateTime.Now;
+ if (bodyView.updateUiThread == null)
+ {
+ bodyView.updateUiThread = new System.Threading.Thread(() =>
+ {
+ while (true)
+ {
+ System.Threading.Thread.Sleep(1500);
+ if (bodyView == null)
+ {
+ return;
+ }
+ if (DateTime.Now.AddMilliseconds(-1500) > bodyView.notiyUpdateTime)
+ {
+ MainPage.Log("娌℃湁鏂版暟鎹紝鏇存柊UI");
+ break;
+ }
+ else
+ {
+ MainPage.Log("鏈夋柊鏁版嵁锛岀户缁瓑寰�");
+ }
+ }
+
+ Application.RunOnMainThread(() =>
+ {
+ try
+ {
+ if (bodyView == null)
+ return;
+ if (updataTemp.spk == bodyView.function.spk && updataTemp.sid == bodyView.function.sid)
+ {
+ if (updataTemp.trait_on_off.curValue.ToString() == "on")
+ {
+ bodyView.dimmerBar.SetProgressBarColors(CSS_Color.AuxiliaryColor1, CSS_Color.AuxiliaryColor1);
+ if (!bodyView.onDimmerBar)
+ {
+ bodyView.dimmerBar.Progress = Convert.ToInt32(updataTemp.GetAttrState(FunctionAttributeKey.Brightness));
+ }
+ if (updataTemp.GetAttrState(FunctionAttributeKey.Brightness) != "0")
+ {
+ bodyView.btnBrightnessText.Text = updataTemp.GetAttrState(FunctionAttributeKey.Brightness) + "%";
+ bodyView.btnBrightnessText.Y = ((100 - Convert.ToInt32(updataTemp.GetAttrState(FunctionAttributeKey.Brightness))) * Application.GetRealHeight(222 - 16) / 100) + Application.GetRealWidth(80);
+ }
+ }
+ else
+ {
+ bodyView.dimmerBar.SetProgressBarColors(CSS_Color.DividingLineColor, CSS_Color.DividingLineColor);
+ }
+ bodyView.btnSwitch.IsSelected = updataTemp.trait_on_off.curValue.ToString() == "on";
+ bodyView.barColorTemplatrue.Enable = updataTemp.trait_on_off.curValue.ToString() == "on";
+ var cct = 27;
+ int.TryParse(updataTemp.GetAttrState(FunctionAttributeKey.CCT), out cct);
+ bodyView.barColorTemplatrue.Progress = cct / 100;
+ //璁剧疆鍒濆鍊�
+ bodyView.barColorTemplatrue.SetCustomText(bodyView.barColorTemplatrue.Progress * 100 + "K");
+
+ }
+ }
+ catch (Exception ex)
+ {
+ MainPage.Log($"{bodyView.GetType().Name} UpdataStates error : {ex.Message}");
+ }
+ finally
+ {
+ bodyView.updateUiThread = null;
+ }
+
+ });
+
+ bodyView.updateUiThread.IsBackground = true;
+ bodyView.updateUiThread.Start();
+ });
+ }
+ }
}
void LoadEventList()
@@ -181,9 +228,9 @@
curDimmerStatus = onDimmerBar = true;
};
dimmerBar.OnProgressChangedEvent = (sender, e) =>
- {
- //dimmerBar.SetProgressBarColors(CSS_Color.AuxiliaryColor1, CSS_Color.AuxiliaryColor1);
- if (!btnSwitch.IsSelected)
+ {
+ //dimmerBar.SetProgressBarColors(CSS_Color.AuxiliaryColor1, CSS_Color.AuxiliaryColor1);
+ if (!btnSwitch.IsSelected)
{
dimmerBar.SetProgressBarColors(CSS_Color.AuxiliaryColor1, CSS_Color.AuxiliaryColor1);
}
@@ -196,20 +243,20 @@
d.Add(FunctionAttributeKey.Brightness, e.ToString());
Control.Ins.SendWriteCommand(function, d);
}
- else
- {
- if (350 < (DateTime.Now - function.refreshTime).TotalMilliseconds)
- {
- function.refreshTime = DateTime.Now;
- new System.Threading.Thread(() =>
- {
- System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
- d.Add(FunctionAttributeKey.Brightness, e.ToString());
- Control.Ins.SendWriteCommand(function, d);
- })
- { IsBackground = true }.Start();
- }
- }
+ //else
+ //{
+ // if (350 < (DateTime.Now - function.refreshTime).TotalMilliseconds)
+ // {
+ // function.refreshTime = DateTime.Now;
+ // new System.Threading.Thread(() =>
+ // {
+ // System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
+ // d.Add(FunctionAttributeKey.Brightness, e.ToString());
+ // Control.Ins.SendWriteCommand(function, d);
+ // })
+ // { IsBackground = true }.Start();
+ // }
+ //}
btnBrightnessText.Y = ((100 - dimmerBar.Progress) * Application.GetRealHeight(222 - 16) / 100) + Application.GetRealWidth(80);
diff --git a/HDL_ON/UI/UI2/FuntionControlView/Light/DimmerPageBLL.cs b/HDL_ON/UI/UI2/FuntionControlView/Light/DimmerPageBLL.cs
index 4a6cf52..765396b 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Light/DimmerPageBLL.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Light/DimmerPageBLL.cs
@@ -8,40 +8,87 @@
public partial class DimmerPage
{
/// <summary>
+ /// 閫氱煡鏇存柊鐣岄潰鐨勬椂闂�
+ /// </summary>
+ DateTime notiyUpdateTime = DateTime.MinValue;
+ System.Threading.Thread updateUiThread;
+ object lockObj = new object();
+
+ /// <summary>
/// 鏇存柊鍔熻兘鐘舵��
/// </summary>
public static void UpdataStates(Function updataTemp)
{
- Application.RunOnMainThread((() =>
+ if (bodyView == null)
{
- try
+ return;
+ }
+ lock (bodyView.lockObj)
+ {
+ MainPage.Log($"鏀跺埌鏇存柊" + DateTime.Now.Ticks);
+ bodyView.notiyUpdateTime = DateTime.Now;
+ if (bodyView.updateUiThread == null)
{
- if (bodyView == null)
- return;
- if (updataTemp.spk == bodyView.function.spk && updataTemp.sid == bodyView.function.sid)
+ bodyView.updateUiThread = new System.Threading.Thread(() =>
{
- bodyView.btnBrightnessText.Text = updataTemp.GetAttrState(FunctionAttributeKey.Brightness) + "%";
- if (updataTemp.trait_on_off.curValue.ToString() == "on")
+ while (true)
{
- bodyView.dimmerBar.SetProgressBarColors(CSS_Color.AuxiliaryColor1, CSS_Color.AuxiliaryColor1);
- if (!bodyView.onDimmerBar)
+ System.Threading.Thread.Sleep(1500);
+ if (bodyView == null)
{
- bodyView.dimmerBar.Progress = Convert.ToInt32(updataTemp.GetAttrState(FunctionAttributeKey.Brightness));
- bodyView.btnBrightnessText.Y = ((100 - Convert.ToInt32(updataTemp.GetAttrState(FunctionAttributeKey.Brightness))) * Application.GetRealHeight(288 - 16 - 16) / 100) + Application.GetRealWidth(40);
+ return;
+ }
+ if (DateTime.Now.AddMilliseconds(-1500) > bodyView.notiyUpdateTime)
+ {
+ MainPage.Log("娌℃湁鏂版暟鎹紝鏇存柊UI");
+ break;
+ }
+ else
+ {
+ MainPage.Log("鏈夋柊鏁版嵁锛岀户缁瓑寰�");
}
}
- else
- {
- bodyView.dimmerBar.SetProgressBarColors(CSS_Color.DividingLineColor, CSS_Color.DividingLineColor);
- }
- bodyView.btnSwitch.IsSelected = updataTemp.trait_on_off.curValue.ToString() == "on";
- }
+
+ Application.RunOnMainThread(() =>{
+ try
+ {
+ if (bodyView == null)
+ return;
+ if (updataTemp.spk == bodyView.function.spk && updataTemp.sid == bodyView.function.sid)
+ {
+ bodyView.btnBrightnessText.Text = updataTemp.GetAttrState(FunctionAttributeKey.Brightness) + "%";
+ if (updataTemp.trait_on_off.curValue.ToString() == "on")
+ {
+ bodyView.dimmerBar.SetProgressBarColors(CSS_Color.AuxiliaryColor1, CSS_Color.AuxiliaryColor1);
+ if (!bodyView.onDimmerBar)
+ {
+ bodyView.dimmerBar.Progress = Convert.ToInt32(updataTemp.GetAttrState(FunctionAttributeKey.Brightness));
+ bodyView.btnBrightnessText.Y = ((100 - Convert.ToInt32(updataTemp.GetAttrState(FunctionAttributeKey.Brightness))) * Application.GetRealHeight(288 - 16 - 16) / 100) + Application.GetRealWidth(40);
+ }
+ }
+ else
+ {
+ bodyView.dimmerBar.SetProgressBarColors(CSS_Color.DividingLineColor, CSS_Color.DividingLineColor);
+ }
+ bodyView.btnSwitch.IsSelected = updataTemp.trait_on_off.curValue.ToString() == "on";
+ }
+ }
+ catch (Exception ex)
+ {
+ MainPage.Log($"{bodyView.GetType().Name} UpdataStates error : {ex.Message}");
+ }
+ finally
+ {
+ bodyView.updateUiThread = null;
+ }
+ });
+
+
+ bodyView.updateUiThread.IsBackground = true;
+ bodyView.updateUiThread.Start();
+ });
}
- catch (Exception ex)
- {
- MainPage.Log($"{bodyView.GetType().Name } UpdataStates error : {ex.Message}");
- }
- }));
+ }
}
void LoadEventList()
@@ -117,7 +164,6 @@
//20201223 鍒犻櫎婊戝姩鍙戦�佸懡浠わ紝闃叉鎺т欢璺冲姩
dimmerBar.OnProgressChangedEvent = (sender, e) =>
{
-
if (!btnSwitch.IsSelected)
{
dimmerBar.SetProgressBarColors(CSS_Color.AuxiliaryColor1, CSS_Color.AuxiliaryColor1);
@@ -132,20 +178,20 @@
d.Add(FunctionAttributeKey.Brightness, e.ToString());
Control.Ins.SendWriteCommand(function, d);
}
- else
- {
- if (350 < (DateTime.Now - function.refreshTime).TotalMilliseconds)
- {
- function.refreshTime = DateTime.Now;
- new System.Threading.Thread(() =>
- {
- System.Collections.Generic.Dictionary<string, string> dic = new System.Collections.Generic.Dictionary<string, string>();
- dic.Add(FunctionAttributeKey.Brightness, e.ToString());
- Control.Ins.SendWriteCommand(function, dic);
- })
- { IsBackground = true }.Start();
- }
- }
+ //else
+ //{
+ // if (350 < (DateTime.Now - function.refreshTime).TotalMilliseconds)
+ // {
+ // function.refreshTime = DateTime.Now;
+ // new System.Threading.Thread(() =>
+ // {
+ // System.Collections.Generic.Dictionary<string, string> dic = new System.Collections.Generic.Dictionary<string, string>();
+ // dic.Add(FunctionAttributeKey.Brightness, e.ToString());
+ // Control.Ins.SendWriteCommand(function, dic);
+ // })
+ // { IsBackground = true }.Start();
+ // }
+ //}
btnBrightnessText.Y = ((100 - dimmerBar.Progress) * Application.GetRealHeight(288 - 16 - 16) / 100) + Application.GetRealWidth(40);
btnBrightnessText.Text = dimmerBar.Progress + "%";
};
diff --git a/HDL_ON/UI/UI2/FuntionControlView/Light/GroupControlPage_V2.cs b/HDL_ON/UI/UI2/FuntionControlView/Light/GroupControlPage_V2.cs
index 8269b50..c48a8d5 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Light/GroupControlPage_V2.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Light/GroupControlPage_V2.cs
@@ -349,6 +349,7 @@
dimmerBar.OnProgressChangedEvent = (sender, e) =>
{
+ return;
if (e == 0 && lastBrightness != 0)
{
lastBrightness = 0;
@@ -443,6 +444,7 @@
dimmerBar.OnProgressChangedEvent = (sender, e) =>
{
+ return;
if (e == 0 && lastBrightness != 0)
{
lastBrightness = 0;
@@ -764,6 +766,7 @@
dimmerBar.OnProgressChangedEvent = (sender, e) =>
{
+ return;
if (e == 0 && lastBrightness != 0)
{
lastBrightness = 0;
diff --git a/HDL_ON/UI/UI2/FuntionControlView/Light/RGBPage.cs b/HDL_ON/UI/UI2/FuntionControlView/Light/RGBPage.cs
index 51f0282..4560904 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Light/RGBPage.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Light/RGBPage.cs
@@ -455,11 +455,12 @@
new TopViewDiv(bodyView, Language.StringByID(StringId.Lights)).LoadTopView_FunctionTop(function, actionRefresh);
new System.Threading.Thread(() =>
{
- DriverLayer.Control.Ins.SendReadCommand(function);
+ Control.Ins.SendReadCommand(function);
})
{ IsBackground = true }.Start();
- new System.Threading.Thread(() => {
+ new System.Threading.Thread(() =>
+ {
while (true)
{
System.Threading.Thread.Sleep(1000);
@@ -473,7 +474,8 @@
}
else
{
- DriverLayer.Control.Ins.SendReadCommand(function);
+ System.Threading.Thread.Sleep(1000);
+ Control.Ins.SendReadCommand(function);
curDimmerStatus = true;
}
}
diff --git a/HDL_ON/UI/UI2/FuntionControlView/Light/RGBPageBLL.cs b/HDL_ON/UI/UI2/FuntionControlView/Light/RGBPageBLL.cs
index 124ed5f..e60c686 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Light/RGBPageBLL.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Light/RGBPageBLL.cs
@@ -7,78 +7,132 @@
public partial class RGBPage
{
/// <summary>
+ /// 閫氱煡鏇存柊鐣岄潰鐨勬椂闂�
+ /// </summary>
+ DateTime notiyUpdateTime = DateTime.MinValue;
+ System.Threading.Thread updateUiThread;
+ object lockObj = new object();
+
+ public override void RemoveFromParent()
+ {
+ bodyView = null;
+ base.RemoveFromParent();
+ }
+ /// <summary>
/// 鏇存柊鍔熻兘鐘舵��
/// </summary>
public static void UpdataStates(Function updateTemp)
{
- Application.RunOnMainThread((() =>
+ if(bodyView == null)
{
- try
+ return;
+ }
+ lock (bodyView.lockObj)
+ {
+ MainPage.Log($"鏀跺埌鏇存柊"+ DateTime.Now.Ticks);
+ bodyView.notiyUpdateTime = DateTime.Now;
+ if (bodyView.updateUiThread == null)
{
- if (bodyView == null)
- return;
- if (updateTemp.spk == bodyView.function.spk && updateTemp.sid == bodyView.function.sid)
+ bodyView.updateUiThread = new System.Threading.Thread(() =>
{
+ while (true)
+ {
+ System.Threading.Thread.Sleep(1500);
+ if(bodyView == null)
+ {
+ return;
+ }
+ if (DateTime.Now.AddMilliseconds(-1500) > bodyView.notiyUpdateTime)
+ {
+ MainPage.Log("娌℃湁鏂版暟鎹紝鏇存柊UI");
+ break;
+ }
+ else
+ {
+ MainPage.Log("鏈夋柊鏁版嵁锛岀户缁瓑寰�");
+ }
+ }
- if (updateTemp.trait_on_off.curValue.ToString() == "on")
+ Application.RunOnMainThread((() =>
{
- //瑙e喅閮ㄥ垎瀹夊崜鎵嬫満锛屽埛鏂板浘鐗囨椂浼氬彉灏忛棶棰�
- if (bodyView.colorPicker.ColorImagePath != "FunctionIcon/Light/ColorWheel.png")
+ try
{
- bodyView.colorPicker.ColorImagePath = "FunctionIcon/Light/ColorWheel.png";
- }
- bodyView.dimmerBar.ProgressBarColor = CSS.CSS_Color.AuxiliaryColor1;
- bodyView.btnSwitch.IsSelected = true;
- if (!bodyView.onDimmerBar)
- {
- bodyView.dimmerBar.Progress = Convert.ToInt32(updateTemp.GetAttrState(FunctionAttributeKey.Brightness));
- }
- }
- //鐘舵�佷竴鏍锋椂,涓嶅啀鍒锋柊瑙嗗浘
- else if (updateTemp.trait_on_off.curValue.ToString() == "off" && bodyView.btnSwitch.IsSelected == true)
- {
- //瑙e喅閮ㄥ垎瀹夊崜鎵嬫満锛屽埛鏂板浘鐗囨椂浼氬彉灏忛棶棰�
- if (bodyView.colorPicker.ColorImagePath != "FunctionIcon/Light/ColorWheelGray.png")
- {
- bodyView.colorPicker.ColorImagePath = "FunctionIcon/Light/ColorWheelGray.png";
- }
- //bodyView.colorPicker.ColorImagePath = "FunctionIcon/Light/ColorWheelGray.png";
- bodyView.dimmerBar.ProgressBarColor = CSS.CSS_Color.PromptingColor2;
- bodyView.btnSwitch.IsSelected = false;
- //鑹茬洏鐨勫渾鐐归殣钘�
- bodyView.btnWhiteRound.Visible = false;
- }
- bodyView.btnCurColor.BackgroundColor = (uint)(0xFF000000 + bodyView.lightTemp.GetRGBcolor(updateTemp.GetAttrState(FunctionAttributeKey.RGB)));
- bodyView.lastColor = bodyView.lightTemp.GetRGBbytes(updateTemp);
- if (bodyView.lightTemp.GetRGBcolor(updateTemp.GetAttrState(FunctionAttributeKey.RGB)) == 16777215 && bodyView.btnCurColor.BorderColor != 0x00000000)
- {
- bodyView.btnCurColor.BorderColor = CSS.CSS_Color.PromptingColor2;
- }
- else
- {
- bodyView.btnCurColor.BorderColor = 0x00000000;
- }
- try
- {
- var colorfulState = updateTemp.GetAttribute(FunctionAttributeKey.Colorful);
- if (colorfulState != null)
- {
- if(bodyView.btnColorfulSwitch!= null)
+ if (bodyView == null)
+ return;
+ if (updateTemp.spk == bodyView.function.spk && updateTemp.sid == bodyView.function.sid)
{
- bodyView.btnColorfulSwitch.IsSelected = colorfulState.curValue.ToString() == "on";
+
+ if (updateTemp.trait_on_off.curValue.ToString() == "on")
+ {
+ //瑙e喅閮ㄥ垎瀹夊崜鎵嬫満锛屽埛鏂板浘鐗囨椂浼氬彉灏忛棶棰�
+ if (bodyView.colorPicker.ColorImagePath != "FunctionIcon/Light/ColorWheel.png")
+ {
+ bodyView.colorPicker.ColorImagePath = "FunctionIcon/Light/ColorWheel.png";
+ }
+ bodyView.dimmerBar.ProgressBarColor = CSS.CSS_Color.AuxiliaryColor1;
+ bodyView.btnSwitch.IsSelected = true;
+ if (!bodyView.onDimmerBar)
+ {
+ bodyView.dimmerBar.Progress = Convert.ToInt32(updateTemp.GetAttrState(FunctionAttributeKey.Brightness));
+ }
+ }
+ //鐘舵�佷竴鏍锋椂,涓嶅啀鍒锋柊瑙嗗浘
+ else if (updateTemp.trait_on_off.curValue.ToString() == "off" && bodyView.btnSwitch.IsSelected == true)
+ {
+ //瑙e喅閮ㄥ垎瀹夊崜鎵嬫満锛屽埛鏂板浘鐗囨椂浼氬彉灏忛棶棰�
+ if (bodyView.colorPicker.ColorImagePath != "FunctionIcon/Light/ColorWheelGray.png")
+ {
+ bodyView.colorPicker.ColorImagePath = "FunctionIcon/Light/ColorWheelGray.png";
+ }
+ //bodyView.colorPicker.ColorImagePath = "FunctionIcon/Light/ColorWheelGray.png";
+ bodyView.dimmerBar.ProgressBarColor = CSS.CSS_Color.PromptingColor2;
+ bodyView.btnSwitch.IsSelected = false;
+ //鑹茬洏鐨勫渾鐐归殣钘�
+ bodyView.btnWhiteRound.Visible = false;
+ }
+ bodyView.btnCurColor.BackgroundColor = (uint)(0xFF000000 + bodyView.lightTemp.GetRGBcolor(updateTemp.GetAttrState(FunctionAttributeKey.RGB)));
+ bodyView.lastColor = bodyView.lightTemp.GetRGBbytes(updateTemp);
+ if (bodyView.lightTemp.GetRGBcolor(updateTemp.GetAttrState(FunctionAttributeKey.RGB)) == 16777215 && bodyView.btnCurColor.BorderColor != 0x00000000)
+ {
+ bodyView.btnCurColor.BorderColor = CSS.CSS_Color.PromptingColor2;
+ }
+ else
+ {
+ bodyView.btnCurColor.BorderColor = 0x00000000;
+ }
+ try
+ {
+ var colorfulState = updateTemp.GetAttribute(FunctionAttributeKey.Colorful);
+ if (colorfulState != null)
+ {
+ if (bodyView.btnColorfulSwitch != null)
+ {
+ bodyView.btnColorfulSwitch.IsSelected = colorfulState.curValue.ToString() == "on";
+ }
+ }
+ }
+ catch (Exception ex)
+ {
+ MainPage.Log($"鏇存柊RGB 鐐僵寮�鍏崇姸鎬佸紓甯�:{ex.Message}");
+ }
}
}
- }catch(Exception ex)
- {
- MainPage.Log($"鏇存柊RGB 鐐僵寮�鍏崇姸鎬佸紓甯�:{ex.Message}");
- }
- }
+ catch (Exception ex)
+ {
+ MainPage.Log($"{bodyView.GetType().Name} UpdataStates error : {ex.Message}");
+ }
+ finally
+ {
+ bodyView.updateUiThread = null;
+ }
+ }));
+
+ });
+ bodyView.updateUiThread.IsBackground = true;
+ bodyView.updateUiThread.Start();
}
- catch (Exception ex)
- {
- MainPage.Log($"{bodyView.GetType().Name } UpdataStates error : {ex.Message}");
- }
- }));
+ }
+
}
@@ -263,25 +317,25 @@
d.Add(FunctionAttributeKey.Brightness, e.ToString());
Control.Ins.SendWriteCommand(function, d);
}
- else
- {
- if (350 < (DateTime.Now - function.refreshTime).TotalMilliseconds)
- {
- function.refreshTime = DateTime.Now;
- new System.Threading.Thread(() =>
- {
- //Control.Send(CommandType_A.write, function);
- System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
- d.Add(FunctionAttributeKey.Brightness, e.ToString());
- Control.Ins.SendWriteCommand(function, d);
- })
- { IsBackground = true }.Start();
- }
- else
- {
- MainPage.Log("skip dimmer control!!");
- }
- }
+ //else
+ //{
+ // if (350 < (DateTime.Now - function.refreshTime).TotalMilliseconds)
+ // {
+ // function.refreshTime = DateTime.Now;
+ // new System.Threading.Thread(() =>
+ // {
+ // //Control.Send(CommandType_A.write, function);
+ // System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
+ // d.Add(FunctionAttributeKey.Brightness, e.ToString());
+ // Control.Ins.SendWriteCommand(function, d);
+ // })
+ // { IsBackground = true }.Start();
+ // }
+ // else
+ // {
+ // MainPage.Log("skip dimmer control!!");
+ // }
+ //}
};
}
}
diff --git a/HDL_ON/UI/UI2/FuntionControlView/Light/RGBWPageBLL.cs b/HDL_ON/UI/UI2/FuntionControlView/Light/RGBWPageBLL.cs
index c2bd28a..369d3b9 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Light/RGBWPageBLL.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Light/RGBWPageBLL.cs
@@ -7,64 +7,110 @@
public partial class RGBWPage
{
/// <summary>
+ /// 閫氱煡鏇存柊鐣岄潰鐨勬椂闂�
+ /// </summary>
+ DateTime notiyUpdateTime = DateTime.MinValue;
+ System.Threading.Thread updateUiThread;
+ object lockObj = new object();
+ /// <summary>
/// 鏇存柊鍔熻兘鐘舵��
/// </summary>
public static void UpdataStates(Function updateTemp)
{
- Application.RunOnMainThread((() =>
+ if (bodyView == null)
{
- try
+ return;
+ }
+ lock (bodyView.lockObj)
+ {
+ MainPage.Log($"鏀跺埌鏇存柊" + DateTime.Now.Ticks);
+ bodyView.notiyUpdateTime = DateTime.Now;
+ if (bodyView.updateUiThread == null)
{
- if (bodyView == null)
- return;
- if (updateTemp.spk == bodyView.function.spk && updateTemp.sid == bodyView.function.sid)
+ bodyView.updateUiThread = new System.Threading.Thread(() =>
{
+ while (true)
+ {
+ System.Threading.Thread.Sleep(1500);
+ if (bodyView == null)
+ {
+ return;
+ }
+ if (DateTime.Now.AddMilliseconds(-1500) > bodyView.notiyUpdateTime)
+ {
+ MainPage.Log("娌℃湁鏂版暟鎹紝鏇存柊UI");
+ break;
+ }
+ else
+ {
+ MainPage.Log("鏈夋柊鏁版嵁锛岀户缁瓑寰�");
+ }
+ }
+ Application.RunOnMainThread(() =>
+ {
+ try
+ {
+ if (bodyView == null)
+ return;
+ if (updateTemp.spk == bodyView.function.spk && updateTemp.sid == bodyView.function.sid)
+ {
- if (updateTemp.trait_on_off.curValue.ToString() == "on")
- {
- //瑙e喅閮ㄥ垎瀹夊崜鎵嬫満锛屽埛鏂板浘鐗囨椂浼氬彉灏忛棶棰�
- if (bodyView.colorPicker.ColorImagePath != "FunctionIcon/Light/ColorWheel.png")
- {
- bodyView.colorPicker.ColorImagePath = "FunctionIcon/Light/ColorWheel.png";
+ if (updateTemp.trait_on_off.curValue.ToString() == "on")
+ {
+ //瑙e喅閮ㄥ垎瀹夊崜鎵嬫満锛屽埛鏂板浘鐗囨椂浼氬彉灏忛棶棰�
+ if (bodyView.colorPicker.ColorImagePath != "FunctionIcon/Light/ColorWheel.png")
+ {
+ bodyView.colorPicker.ColorImagePath = "FunctionIcon/Light/ColorWheel.png";
+ }
+ bodyView.dimmerBar.ProgressBarColor = CSS.CSS_Color.AuxiliaryColor1;
+ bodyView.btnSwitch.IsSelected = true;
+ if (!bodyView.onDimmerBar)
+ {
+ bodyView.dimmerBar.Progress = Convert.ToInt32(updateTemp.GetAttrState(FunctionAttributeKey.Brightness));
+ }
+ }
+ //鐘舵�佷竴鏍锋椂,涓嶅啀鍒锋柊瑙嗗浘
+ else if (updateTemp.trait_on_off.curValue.ToString() == "off" && bodyView.btnSwitch.IsSelected == true)
+ {
+ //瑙e喅閮ㄥ垎瀹夊崜鎵嬫満锛屽埛鏂板浘鐗囨椂浼氬彉灏忛棶棰�
+ if (bodyView.colorPicker.ColorImagePath != "FunctionIcon/Light/ColorWheelGray.png")
+ {
+ bodyView.colorPicker.ColorImagePath = "FunctionIcon/Light/ColorWheelGray.png";
+ }
+ //bodyView.colorPicker.ColorImagePath = "FunctionIcon/Light/ColorWheelGray.png";
+ bodyView.dimmerBar.ProgressBarColor = CSS.CSS_Color.PromptingColor2;
+ bodyView.btnSwitch.IsSelected = false;
+ //鑹茬洏鐨勫渾鐐归殣钘�
+ bodyView.btnWhiteRound.Visible = false;
+ }
+ bodyView.btnCurColor.BackgroundColor = (uint)(0xFF000000 + bodyView.lightTemp.GetRGBcolor(updateTemp.GetAttrState(FunctionAttributeKey.RGBW)));
+ bodyView.lastColor = bodyView.lightTemp.GetRGBWbytes(updateTemp);
+ if (bodyView.lightTemp.GetRGBcolor(updateTemp.GetAttrState(FunctionAttributeKey.RGBW)) == 16777215 && bodyView.btnCurColor.BorderColor != 0x00000000)
+ {
+ bodyView.btnCurColor.BorderColor = CSS.CSS_Color.PromptingColor2;
+ }
+ else
+ {
+ bodyView.btnCurColor.BorderColor = 0x00000000;
+ }
+ }
}
- bodyView.dimmerBar.ProgressBarColor = CSS.CSS_Color.AuxiliaryColor1;
- bodyView.btnSwitch.IsSelected = true;
- if (!bodyView.onDimmerBar)
+ catch (Exception ex)
{
- bodyView.dimmerBar.Progress = Convert.ToInt32(updateTemp.GetAttrState(FunctionAttributeKey.Brightness));
+ MainPage.Log($"{bodyView.GetType().Name } UpdataStates error : {ex.Message}");
}
- }
- //鐘舵�佷竴鏍锋椂,涓嶅啀鍒锋柊瑙嗗浘
- else if (updateTemp.trait_on_off.curValue.ToString() == "off" && bodyView.btnSwitch.IsSelected == true)
- {
- //瑙e喅閮ㄥ垎瀹夊崜鎵嬫満锛屽埛鏂板浘鐗囨椂浼氬彉灏忛棶棰�
- if (bodyView.colorPicker.ColorImagePath != "FunctionIcon/Light/ColorWheelGray.png")
+ finally
{
- bodyView.colorPicker.ColorImagePath = "FunctionIcon/Light/ColorWheelGray.png";
+ bodyView.updateUiThread = null;
}
- //bodyView.colorPicker.ColorImagePath = "FunctionIcon/Light/ColorWheelGray.png";
- bodyView.dimmerBar.ProgressBarColor = CSS.CSS_Color.PromptingColor2;
- bodyView.btnSwitch.IsSelected = false;
- //鑹茬洏鐨勫渾鐐归殣钘�
- bodyView.btnWhiteRound.Visible = false;
- }
- bodyView.btnCurColor.BackgroundColor = (uint)(0xFF000000 + bodyView.lightTemp.GetRGBcolor(updateTemp.GetAttrState(FunctionAttributeKey.RGBW)));
- bodyView.lastColor = bodyView.lightTemp.GetRGBWbytes(updateTemp);
- if (bodyView.lightTemp.GetRGBcolor(updateTemp.GetAttrState(FunctionAttributeKey.RGBW)) == 16777215 && bodyView.btnCurColor.BorderColor != 0x00000000)
- {
- bodyView.btnCurColor.BorderColor = CSS.CSS_Color.PromptingColor2;
- }
- else
- {
- bodyView.btnCurColor.BorderColor = 0x00000000;
- }
- }
+ });
+
+
+ bodyView.updateUiThread.IsBackground = true;
+ bodyView.updateUiThread.Start();
+ });
}
- catch (Exception ex)
- {
- MainPage.Log($"{bodyView.GetType().Name } UpdataStates error : {ex.Message}");
- }
- }));
+ }
}
@@ -256,25 +302,25 @@
d.Add(FunctionAttributeKey.Brightness, e.ToString());
Control.Ins.SendWriteCommand(function, d);
}
- else
- {
- if (350 < (DateTime.Now - function.refreshTime).TotalMilliseconds)
- {
- function.refreshTime = DateTime.Now;
- new System.Threading.Thread(() =>
- {
- //Control.Send(CommandType_A.write, function);
- System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
- d.Add(FunctionAttributeKey.Brightness, e.ToString());
- Control.Ins.SendWriteCommand(function, d);
- })
- { IsBackground = true }.Start();
- }
- else
- {
- MainPage.Log("skip dimmer control!!");
- }
- }
+ //else
+ //{
+ // if (350 < (DateTime.Now - function.refreshTime).TotalMilliseconds)
+ // {
+ // function.refreshTime = DateTime.Now;
+ // new System.Threading.Thread(() =>
+ // {
+ // //Control.Send(CommandType_A.write, function);
+ // System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
+ // d.Add(FunctionAttributeKey.Brightness, e.ToString());
+ // Control.Ins.SendWriteCommand(function, d);
+ // })
+ // { IsBackground = true }.Start();
+ // }
+ // else
+ // {
+ // MainPage.Log("skip dimmer control!!");
+ // }
+ //}
};
}
}
diff --git a/SiriIntents/Server/HttpUtil.cs b/SiriIntents/Server/HttpUtil.cs
index 8d4483c..dc7aca0 100644
--- a/SiriIntents/Server/HttpUtil.cs
+++ b/SiriIntents/Server/HttpUtil.cs
@@ -16,8 +16,8 @@
/// 鍥哄畾鍩熷悕,姝e紡鐜
/// 鍏叡鍩熷悕灏辫繎瑙f瀽
/// </summary>
- public const string GlobalRequestHttpsHost = "https://nearest.hdlcontrol.com";
- //public const string GlobalRequestHttpsHost = "https://test-gz.hdlcontrol.com";
+ //public const string GlobalRequestHttpsHost = "https://nearest.hdlcontrol.com";
+ public const string GlobalRequestHttpsHost = "https://test-gz.hdlcontrol.com";
const string APP_KEY = "HDL-HOME-APP-TEST";
const string SECRET_KEY = "WeJ8TY88vbakCcnvH8G1tDUqzLWY8yss";
//public const string GlobalRequestHttpsHost = "http://59.41.255.150:7777";//mmmm
--
Gitblit v1.8.0