From 3199abc8c62f23fce4e3ec7a2337d23709810e97 Mon Sep 17 00:00:00 2001 From: wxr <464027401@qq.com> Date: 星期三, 29 六月 2022 14:42:16 +0800 Subject: [PATCH] 梦幻帘接入 --- HDL_ON/Entity/Function/Scene.cs | 3 HDL_ON/DAL/ThirdPartySdk/HDLLinphone.cs | 5 HDL_ON/UI/UI0-Public/PublicAssmeblyBLL.cs | 6 HDL_ON/UI/UI2/1-HomePage/HomePage.cs | 58 ++- HDL-ON_Android/Assets/Language.ini | 4 HDL_ON/UI/UI2/FuntionControlView/Light/ColorTureLampPage.cs | 5 HDL_ON/UI/UI2/FuntionControlView/Light/RGBPageBLL.cs | 74 ++-- HDL-ON_iOS/HDL-ON_iOS.csproj | 1 HDL_ON/UI/UI2/FuntionControlView/Light/RGBPage.cs | 24 + HDL_ON/UI/UI2/FuntionControlView/Light/DimmerPageBLL.cs | 10 HDL_ON/HDL_ON.projitems | 1 HDL-ON_iOS/Resources/Phone/Public/ThumbImage2.png | 0 HDL_ON/UI/UI2/FuntionControlView/Light/DimmerPage.cs | 5 HDL-ON_Android/HDL-ON_Android.csproj | 1 HDL_ON/UI/UI2/FuntionControlView/Curtain/CurtainDreamPage.cs | 543 ++++++++++++++++++++++++++++++++++++++ HDL_ON/UI/UI2/FuntionControlView/Light/ColorTureLampPageBLL.cs | 62 ++-- HDL-ON_Android/Assets/Phone/Public/ThumbImage2.png | 0 HDL-ON_iOS/Info.plist | 4 HDL-ON_iOS/Resources/Language.ini | 10 HDL_ON/Common/R.cs | 5 HDL_ON/UI/UI2/3-Intelligence/Scene/SetSceneFunctionInfoPage.cs | 7 HDL_ON/UI/MainPage.cs | 2 22 files changed, 716 insertions(+), 114 deletions(-) diff --git a/HDL-ON_Android/Assets/Language.ini b/HDL-ON_Android/Assets/Language.ini index 2e71213..ff94fa9 100644 --- a/HDL-ON_Android/Assets/Language.ini +++ b/HDL-ON_Android/Assets/Language.ini @@ -529,6 +529,7 @@ 541=Monitoring 542=Wandering alarm 543=Get more +544=Angle 1000=Room Humidity @@ -1691,6 +1692,7 @@ 541=鐩戞帶涓� 542=寰樺緤鎶ヨ 543=鑾峰彇鏇村 +544=瑙掑害 1000=瀹ゅ唴婀垮害 1001=绔ラ攣 @@ -2829,6 +2831,7 @@ 541=Monitoring 542=Wandering alarm 543=Get more +544=Angle 1000=袙谢邪卸薪芯褋褌褜 胁 袩芯屑械褖械薪懈懈 @@ -3985,6 +3988,7 @@ 541=Monitoring 542=Wandering alarm 543=Get more +544=Angle 1000=Humedad de ambiente 1001=V-chip diff --git a/HDL-ON_Android/Assets/Phone/Public/ThumbImage2.png b/HDL-ON_Android/Assets/Phone/Public/ThumbImage2.png new file mode 100644 index 0000000..0639f3b --- /dev/null +++ b/HDL-ON_Android/Assets/Phone/Public/ThumbImage2.png Binary files differ diff --git a/HDL-ON_Android/HDL-ON_Android.csproj b/HDL-ON_Android/HDL-ON_Android.csproj index 3b3f61d..08dd1f0 100644 --- a/HDL-ON_Android/HDL-ON_Android.csproj +++ b/HDL-ON_Android/HDL-ON_Android.csproj @@ -247,6 +247,7 @@ <AndroidAsset Include="Assets\Phone\FunctionIcon\FloorHeating\EconomicIconGray.png" /> <AndroidAsset Include="Assets\Phone\MusicIcon\order.png" /> <AndroidAsset Include="Assets\Phone\MusicIcon\single_cycle.png" /> + <AndroidAsset Include="Assets\Phone\Public\ThumbImage2.png" /> </ItemGroup> <ItemGroup> <AndroidResource Include="Resources\values\colors.xml" /> diff --git a/HDL-ON_iOS/HDL-ON_iOS.csproj b/HDL-ON_iOS/HDL-ON_iOS.csproj index c72dc16..78e6c1e 100644 --- a/HDL-ON_iOS/HDL-ON_iOS.csproj +++ b/HDL-ON_iOS/HDL-ON_iOS.csproj @@ -1406,6 +1406,7 @@ <BundleResource Include="Resources\Phone\FunctionIcon\Panel\PanelEnviBg.png" /> <BundleResource Include="Resources\Phone\MusicIcon\order.png" /> <BundleResource Include="Resources\Phone\MusicIcon\single_cycle.png" /> + <BundleResource Include="Resources\Phone\Public\ThumbImage2.png" /> </ItemGroup> <ItemGroup> <ITunesArtwork Include="iTunesArtwork" /> diff --git a/HDL-ON_iOS/Info.plist b/HDL-ON_iOS/Info.plist index e0efd51..9c3d4b3 100644 --- a/HDL-ON_iOS/Info.plist +++ b/HDL-ON_iOS/Info.plist @@ -100,9 +100,9 @@ <key>UIStatusBarStyle</key> <string>UIStatusBarStyleLightContent</string> <key>CFBundleShortVersionString</key> - <string>1.5.502206241</string> + <string>1.5.502206271</string> <key>CFBundleVersion</key> - <string>1.5.506241</string> + <string>1.5.506271</string> <key>NSLocationWhenInUseUsageDescription</key> <string>Use geographic location to provide services such as weather</string> <key>NSAppleMusicUsageDescription</key> diff --git a/HDL-ON_iOS/Resources/Language.ini b/HDL-ON_iOS/Resources/Language.ini index aa18fb0..ff94fa9 100644 --- a/HDL-ON_iOS/Resources/Language.ini +++ b/HDL-ON_iOS/Resources/Language.ini @@ -529,6 +529,7 @@ 541=Monitoring 542=Wandering alarm 543=Get more +544=Angle 1000=Room Humidity @@ -738,7 +739,7 @@ 5015=Bluetooth 5016=Line input 5017=Revise the name -5018=Single loop +5018=Single loop 5019=Random play 5020=List 5021=Has shifted to @@ -770,6 +771,7 @@ 5047="QQ music" has not installed in your cell phone, please proceed in App center. 5048= Progressive cycle 5049=Single play + 6000=normal 6001=Device status @@ -1047,6 +1049,7 @@ 7156=Distress 7157=whether to unlock 7158=is + @@ -1689,6 +1692,7 @@ 541=鐩戞帶涓� 542=寰樺緤鎶ヨ 543=鑾峰彇鏇村 +544=瑙掑害 1000=瀹ゅ唴婀垮害 1001=绔ラ攣 @@ -1930,7 +1934,7 @@ 5046=璋冭妭闊抽噺 5047=浣犳墜鏈烘殏鏈畨瑁�"QQ闊充箰"{\r\n}璇峰墠寰�鎵嬫満鍟嗗満瀹夎 5048=寰簭寰幆 -5049=鍗曟洸寰幆 +5049=鍗曟洸鎾斁 6000=姝e父 @@ -2827,6 +2831,7 @@ 541=Monitoring 542=Wandering alarm 543=Get more +544=Angle 1000=袙谢邪卸薪芯褋褌褜 胁 袩芯屑械褖械薪懈懈 @@ -3983,6 +3988,7 @@ 541=Monitoring 542=Wandering alarm 543=Get more +544=Angle 1000=Humedad de ambiente 1001=V-chip diff --git a/HDL-ON_iOS/Resources/Phone/Public/ThumbImage2.png b/HDL-ON_iOS/Resources/Phone/Public/ThumbImage2.png new file mode 100644 index 0000000..0639f3b --- /dev/null +++ b/HDL-ON_iOS/Resources/Phone/Public/ThumbImage2.png Binary files differ diff --git a/HDL_ON/Common/R.cs b/HDL_ON/Common/R.cs index 7e86ec4..f7c8de3 100644 --- a/HDL_ON/Common/R.cs +++ b/HDL_ON/Common/R.cs @@ -4,7 +4,10 @@ { public static class StringId { - + /// <summary> + /// 瑙掑害 + /// </summary> + public const int Angle = 544; /// <summary> /// 鑾峰彇鏇村 /// </summary> diff --git a/HDL_ON/DAL/ThirdPartySdk/HDLLinphone.cs b/HDL_ON/DAL/ThirdPartySdk/HDLLinphone.cs index abbdbd3..5a6cd33 100644 --- a/HDL_ON/DAL/ThirdPartySdk/HDLLinphone.cs +++ b/HDL_ON/DAL/ThirdPartySdk/HDLLinphone.cs @@ -457,6 +457,8 @@ mHDLCallVideoInfo.DeviceSipAccount = mESVideoInfo.deviceSipAccount; InitCallInfo(mHDLCallVideoInfo); + + if (isHdlLinphone) { //褰撳墠鍛煎彨鏉ョ數鐨勪綇瀹呭拰涔嬪墠娉ㄥ唽鐧诲綍鐨勪綇瀹呬竴鑷寸殑鎯呭喌涓� @@ -539,7 +541,8 @@ var intent = new Intent(Shared.Application.Activity, typeof(Com.Hdl.Hdllinphonesdk.Activity.HDLLinphoneIntercomActivity)); if (mHDLCallVideoInfo != null) { - intent.PutExtra(HDLLinphoneKit.KeyTitleName, mHDLCallVideoInfo.DeviceName); + //intent.PutExtra(HDLLinphoneKit.KeyTitleName, mHDLCallVideoInfo.DeviceName); + intent.PutExtra(HDLLinphoneKit.KeyTitleName, mHDLCallVideoInfo.CallId); } Shared.Application.Activity.StartActivity(intent); #endif diff --git a/HDL_ON/Entity/Function/Scene.cs b/HDL_ON/Entity/Function/Scene.cs index 75742dc..2f2d49c 100644 --- a/HDL_ON/Entity/Function/Scene.cs +++ b/HDL_ON/Entity/Function/Scene.cs @@ -585,6 +585,9 @@ case FunctionAttributeKey.FadeTime: text = Language.StringByID(StringId.FadeSpeed); break; + case "angle": + text = Language.StringByID(StringId.Angle); + break; } return text; } diff --git a/HDL_ON/HDL_ON.projitems b/HDL_ON/HDL_ON.projitems index 948c13d..d4c650b 100644 --- a/HDL_ON/HDL_ON.projitems +++ b/HDL_ON/HDL_ON.projitems @@ -499,6 +499,7 @@ <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\ContentView\FhContentView.cs" /> <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\ContentView\AcContentView.cs" /> <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Video\WanderingAlarmPage.cs" /> + <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Curtain\CurtainDreamPage.cs" /> </ItemGroup> <ItemGroup> <Folder Include="$(MSBuildThisFileDirectory)Entity\Device\" /> diff --git a/HDL_ON/UI/MainPage.cs b/HDL_ON/UI/MainPage.cs index 950254a..fe1737b 100644 --- a/HDL_ON/UI/MainPage.cs +++ b/HDL_ON/UI/MainPage.cs @@ -105,7 +105,7 @@ /// </summary> public static List<string> SceneSupportFunctionList = new List<string> { SPK.LightCCT,SPK.LightDimming,SPK.LightSwitch,SPK.LightRGB, - SPK.CurtainRoller,SPK.CurtainSwitch,SPK.CurtainTrietex, + SPK.CurtainRoller,SPK.CurtainSwitch,SPK.CurtainTrietex,SPK.CurtainDream, SPK.AcIr,SPK.AcStandard,SPK.HvacAC, SPK.FloorHeatStandard,SPK.HvacFloorHeat, SPK.AirFreshStandard,SPK.HvacAirFresh, diff --git a/HDL_ON/UI/UI0-Public/PublicAssmeblyBLL.cs b/HDL_ON/UI/UI0-Public/PublicAssmeblyBLL.cs index 736410b..cc2d317 100644 --- a/HDL_ON/UI/UI0-Public/PublicAssmeblyBLL.cs +++ b/HDL_ON/UI/UI0-Public/PublicAssmeblyBLL.cs @@ -62,6 +62,12 @@ rollingShutterView.LoadPage(btnCollectionIcon, btnName, btnFromFloor); MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; break; + case SPK.CurtainDream: + var curtainDreamView = new CurtainDreamPage(function); + MainPage.BasePageView.AddChidren(curtainDreamView); + curtainDreamView.LoadPage(btnCollectionIcon, btnName, btnFromFloor); + MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; + break; case SPK.FloorHeatStandard: case SPK.HvacFloorHeat: var fhView = new FloorHeatingPage(function); diff --git a/HDL_ON/UI/UI2/1-HomePage/HomePage.cs b/HDL_ON/UI/UI2/1-HomePage/HomePage.cs index fc4e748..d4c6a4c 100644 --- a/HDL_ON/UI/UI2/1-HomePage/HomePage.cs +++ b/HDL_ON/UI/UI2/1-HomePage/HomePage.cs @@ -566,6 +566,17 @@ #if DEBUG + FunctionList.List.Functions.Add(new Function + { + name = "娴嬭瘯姊﹀够绐楀笜", + spk = SPK.CurtainDream, + sid = "1234577", + attributes = new List<FunctionAttributes> { + new FunctionAttributes(){ key = "on_off",curValue= "on",state = "on" }, + new FunctionAttributes(){ key = "percent",curValue= "100",state = "100" }, + new FunctionAttributes(){ key = "angle",curValue= "0",state = "0" }, + } + }); //FunctionList.List.Functions.Add(new Function //{ @@ -627,28 +638,28 @@ // }, //}); - FunctionList.List.Functions.Add(new Function() - { - spk = SPK.SensorPm25, - name = "娴嬭瘯Pm2.5", - attributes = new List<FunctionAttributes>() - { - new FunctionAttributes(){ key = "pm25",curValue= "70",state = "70" }, - }, - attrKeyConfigs = new List<AttrKeyConfig>() - { - new AttrKeyConfig (){ - key = "pm2.5", - type = "interval" , - unit = "ug/m虏", - configs = new List<AttrKeyInfo>(){ - new AttrKeyInfo(){ start = "0",end = "75",color = "0xFFADE764", desc = "鑹ソ"}, - new AttrKeyInfo(){ start = "76",end = "150",color = "0xFFFFD154",desc = "杞�/涓害姹℃煋"}, - new AttrKeyInfo(){ start = "151",end = "500",color = "0xFFFF9D54",desc = "閲嶅害/涓ラ噸姹℃煋"}, - } - } - }, - }); + //FunctionList.List.Functions.Add(new Function() + //{ + // spk = SPK.SensorPm25, + // name = "娴嬭瘯Pm2.5", + // attributes = new List<FunctionAttributes>() + // { + // new FunctionAttributes(){ key = "pm25",curValue= "70",state = "70" }, + // }, + // attrKeyConfigs = new List<AttrKeyConfig>() + // { + // new AttrKeyConfig (){ + // key = "pm2.5", + // type = "interval" , + // unit = "ug/m虏", + // configs = new List<AttrKeyInfo>(){ + // new AttrKeyInfo(){ start = "0",end = "75",color = "0xFFADE764", desc = "鑹ソ"}, + // new AttrKeyInfo(){ start = "76",end = "150",color = "0xFFFFD154",desc = "杞�/涓害姹℃煋"}, + // new AttrKeyInfo(){ start = "151",end = "500",color = "0xFFFF9D54",desc = "閲嶅害/涓ラ噸姹℃煋"}, + // } + // } + // }, + //}); //FunctionList.List.Functions.Add(new Function() //{ @@ -1151,10 +1162,8 @@ }; 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() @@ -1226,6 +1235,7 @@ LoadEvent_FunctionCollection(btnCollection, function); if (//SPK.CurtainSpkList().Contains(function.spk)) function.spk == SPK.CurtainRoller || function.spk == SPK.CurtainShades || + function.spk == SPK.CurtainDream || function.spk == SPK.CurtainSwitch || function.spk == SPK.CurtainTrietex ) { btnIcon.UnSelectedImagePath = "FunctionIcon/Curtain/CurtainIcon.png"; diff --git a/HDL_ON/UI/UI2/3-Intelligence/Scene/SetSceneFunctionInfoPage.cs b/HDL_ON/UI/UI2/3-Intelligence/Scene/SetSceneFunctionInfoPage.cs index 97d6306..b82e1f8 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/Scene/SetSceneFunctionInfoPage.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Scene/SetSceneFunctionInfoPage.cs @@ -70,6 +70,9 @@ case FunctionAttributeKey.RGB: LoadFunctionRow(sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.RGB)); break; + case "angle"://瑙掑害 + LoadFunctionRow(sceneFunction.status.Find((obj) => obj.key == "angle")); + break; } } @@ -353,6 +356,10 @@ case FunctionAttributeKey.FadeTime: break; + case "angle": + //鍛堢幇鐨勫脊绐� + + break; case "cct": LoadEditDialog_CCT(sceneStatus, btnFunctionText); break; diff --git a/HDL_ON/UI/UI2/FuntionControlView/Curtain/CurtainDreamPage.cs b/HDL_ON/UI/UI2/FuntionControlView/Curtain/CurtainDreamPage.cs new file mode 100644 index 0000000..58044ad --- /dev/null +++ b/HDL_ON/UI/UI2/FuntionControlView/Curtain/CurtainDreamPage.cs @@ -0,0 +1,543 @@ +锘縰sing System; +using HDL_ON.Entity; +using Shared; +using HDL_ON.Entity; +using HDL_ON.UI.CSS; +using System.Collections.Generic; +using HDL_ON.DriverLayer; + +namespace HDL_ON.UI +{ + public class CurtainDreamPage : FrameLayout + { + + #region 鎺т欢闆嗗悎 + static CurtainDreamPage bodyView; + /// <summary> + /// 鍔熻兘鍚嶇О鎸夐挳 + /// </summary> + Button btnFunctionName; + /// <summary> + /// 鎴块棿妤煎眰淇℃伅鎸夐挳 + /// </summary> + Button btnFromFoorAndRoom; + /// <summary> + /// 鏀惰棌鎸夐挳 + /// </summary> + Button btnCollection; + /// <summary> + /// 绐楀笜鍔ㄦ�佹帶浠� + /// </summary> + CurtainSeekBarOn curtainSeekBar; + /// <summary> + /// 杩涘害鍊� + /// </summary> + Button btnProgress; + + + /// <summary> + /// 绐楀笜鍏抽棴鎸夐挳 + /// </summary> + Button btnCurtainClose; + /// <summary> + /// 绐楀笜鍋滄鎸夐挳 + /// </summary> + Button btnCurtainStop; + /// <summary> + /// 绐楀笜鎵撳紑鎸夐挳 + /// </summary> + Button btnCurtainOpen; + #endregion + + #region 鍖哄煙鍙橀噺 + Entity.Curtain curtainTemp = new Entity.Curtain(); + + Function function; + Button btnCollection_Out; + Button btnFunctionName_Out; + Button btnFromFloor_Out; + /// <summary> + /// 鍒锋柊鏄剧ず淇℃伅 + /// </summary> + Action actionRefresh; + #endregion + /// <summary> + /// 姝e湪鎺у埗 + /// </summary> + bool onControl = false; + + public CurtainDreamPage(Function func) + { + bodyView = this; + function = func; + } + + public void LoadPage(Button btnCollectionIcon, Button btnFunctionNameOut, Button btnFromFloorOut) + { + bodyView.BackgroundColor = CSS_Color.BackgroundColor; + btnCollection_Out = btnCollectionIcon; + btnFunctionName_Out = btnFunctionNameOut; + btnFromFloor_Out = btnFromFloorOut; + + + FrameLayout controlView = new FrameLayout() + { + Gravity = Gravity.CenterHorizontal, + Y = Application.GetRealHeight(88), + Width = Application.GetRealWidth(327), + Height = Application.GetRealHeight(526), + BackgroundImagePath = "Public/Fragmentbg.png", + }; + bodyView.AddChidren(controlView); + + btnFunctionName = new Button() + { + X = Application.GetRealWidth(16), + Y = Application.GetRealHeight(14), + Width = Application.GetRealWidth(270), + Height = Application.GetRealHeight(37), + TextColor = CSS_Color.FirstLevelTitleColor, + TextAlignment = TextAlignment.CenterLeft, + TextSize = CSS_FontSize.EmphasisFontSize_FirstLevel, + Text = function.name, + }; + controlView.AddChidren(btnFunctionName); + + btnFromFoorAndRoom = new Button() + { + X = Application.GetRealWidth(16), + Y = btnFunctionName.Bottom, + Width = Application.GetRealWidth(270), + Height = Application.GetRealHeight(21), + TextColor = CSS_Color.PromptingColor1, + TextAlignment = TextAlignment.CenterLeft, + TextSize = CSS_FontSize.PromptFontSize_FirstLevel, + Text = function.GetRoomListName() + }; + controlView.AddChidren(btnFromFoorAndRoom); + + btnCollection = new Button() + { + X = Application.GetRealWidth(273), + Y = Application.GetRealHeight(14), + Width = Application.GetMinRealAverage(40), + Height = Application.GetMinRealAverage(40), + SelectedImagePath = "Collection/CollectionIcon.png", + UnSelectedImagePath = "Collection/CollectionGrayIcon.png", + IsSelected = function.collect + }; + controlView.AddChidren(btnCollection); + //2020-12-16 濡傛灉鏄垚鍛橀殣钘忔敹钘忓姛鑳� + //if (!DB_ResidenceData.Instance.CurrentRegion.isOtherShare) + //{ + // controlView.AddChidren(btnCollection); + //} + + + btnProgress = new Button() + { + Y = Application.GetRealHeight(80), + Height = Application.GetRealHeight(50), + TextSize = CSS_FontSize.TextFontSize, + TextColor = CSS_Color.PromptingColor1, + Text = curtainTemp.GetPercent(function).ToString() + "%", + }; + controlView.AddChidren(btnProgress); + + + curtainSeekBar = new CurtainSeekBarOn() + { + Gravity = Gravity.CenterHorizontal, + Y = Application.GetRealHeight(130), + Width = Application.GetRealWidth(250), + Height = Application.GetRealWidth(177), + Progress = curtainTemp.GetPercent(function), + ProgressTextColor = 0x00000000, + //IsInvertedProgress = true, + }; + controlView.AddChidren(curtainSeekBar); + + + int angleValut = Convert.ToInt32(function.GetAttrState("angle")); + var angleView = new FrameLayout() + { + Gravity = Gravity.CenterHorizontal, + Y = Application.GetRealHeight(300),//414,璁捐鏁版嵁 + Width = Application.GetRealWidth(250), + Height = Application.GetRealWidth(30), + BackgroundColor = 0x00ff0000 + }; + controlView.AddChidren(angleView); + + List<Button> buttons = new List<Button>(); + for (int i = 0; i < 18; i++) + { + var btn = new Button() + { + X = Application.GetRealWidth(12 * i + 4), + Y = Application.GetRealHeight(5), + Width = Application.GetRealWidth(4), + Height = Application.GetRealHeight(20), + BackgroundColor = 0xFFDFE1E6, + }; + btn.SetRotation(angleValut); + angleView.AddChidren(btn); + buttons.Add(btn); + }; + + var btnAngle = new Button() + { + TextAlignment = TextAlignment.CenterRight, + TextSize = CSS_FontSize.PromptFontSize_FirstLevel, + TextColor = CSS_Color.PromptingColor1, + Text = function.GetAttrState("angle") + "掳" + }; + angleView.AddChidren(btnAngle); + + var angleBar = new DiyImageSeekBar() + { + Width = Application.GetRealWidth(220), + Height = Application.GetRealHeight(30), + SeekBarViewHeight = Application.GetRealHeight(0), + ThumbImagePath = "Public/ThumbImage2.png", + ThumbImageHeight = Application.GetRealHeight(20), + ProgressBarColor = 0x00000000, + ProgressTextColor = 0x00000000, + ProgressTextSize = 0, + MaxValue = 180, + Progress = 90, + ProgressChangeDelayTime = 0 + }; + angleView.AddChidren(angleBar); + angleBar.OnProgressChangedEvent = (sender, e) => + { + float angle = (e - 90); + btnAngle.Text = angle + "掳"; + foreach (var btn in buttons) + { + btn.SetRotation(angle); Console.WriteLine(angle); + } + //if (100 < (DateTime.Now - function.refreshTime).TotalMilliseconds) + //{ + // function.refreshTime = DateTime.Now; + // foreach (var btn in buttons) + // { + // new System.Threading.Thread(() => + // { + // Application.RunOnMainThread(() => + // { + // btn.SetRotation(angle); Console.WriteLine(angle); + // }); + // }); + // } + //} + }; + angleBar.OnStopTrackingTouchEvent = (sende, e) => + { + function.refreshTime = DateTime.Now; + new System.Threading.Thread(() => + { + Dictionary<string, string> dic = new Dictionary<string, string>(); + dic.Add("angle", e.ToString()); + Control.Ins.SendWriteCommand(function, dic); + }) + { IsBackground = true }.Start(); + }; + + + btnCurtainClose = new Button() + { + X = Application.GetRealWidth(84), + Y = Application.GetRealHeight(466), + Width = Application.GetMinRealAverage(32), + Height = Application.GetMinRealAverage(32), + UnSelectedImagePath = "FunctionIcon/Curtain/CurtainCloseIcon.png", + SelectedImagePath = "FunctionIcon/Curtain/CurtainCloseOnIcon.png", + }; + controlView.AddChidren(btnCurtainClose); + + btnCurtainStop = new Button() + { + X = Application.GetRealWidth(148), + Y = Application.GetRealHeight(466), + Width = Application.GetMinRealAverage(32), + Height = Application.GetMinRealAverage(32), + UnSelectedImagePath = "FunctionIcon/Curtain/CurtainStopIcon.png", + SelectedImagePath = "FunctionIcon/Curtain/CurtainStopOnIcon.png", + }; + controlView.AddChidren(btnCurtainStop); + + btnCurtainOpen = new Button() + { + X = Application.GetRealWidth(212), + Y = Application.GetRealHeight(466), + Width = Application.GetMinRealAverage(32), + Height = Application.GetMinRealAverage(32), + UnSelectedImagePath = "FunctionIcon/Curtain/CurtainOpenIcon.png", + SelectedImagePath = "FunctionIcon/Curtain/CurtainOpenOnIcon.png", + }; + controlView.AddChidren(btnCurtainOpen); + + LoadEventList(); + new TopViewDiv(bodyView, Language.StringByID(StringId.Curtain)).LoadTopView_FunctionTop(function, actionRefresh); + new System.Threading.Thread(() => + { + Control.Ins.SendReadCommand(function); + }) + { IsBackground = true }.Start(); + } + + /// <summary> + /// 鏇存柊绐楀笜 + /// </summary> + /// <param name="updateTemp"></param> + public static void UpdataState(Function updateTemp) + { + Application.RunOnMainThread((Action)(() => + { + if (bodyView == null) + return; + if (bodyView.onControl) + return; + if (updateTemp.spk == bodyView.function.spk && updateTemp.sid == bodyView.function.sid) + { + try + { + if (!bodyView.onCurtainAnimation) + { + bodyView.CurtainAnimation(Convert.ToInt32(updateTemp.GetAttrState(FunctionAttributeKey.Percent))); + } + } + catch { } + } + })); + } + + /// <summary> + /// 姝e湪鎵ц绐楀笜鍔ㄧ敾 + /// </summary> + bool onCurtainAnimation = false; + /// <summary> + /// 绐楀笜鍔ㄧ敾 + /// </summary> + /// <param name="progress"></param> + void CurtainAnimation(int progress) + { + onCurtainAnimation = true; + //杩愯鏂瑰悜 鎵撳紑锛堝姞杩涘害锛夛細鍏抽棴锛堝噺杩涘害锛� + bool runningDirection = progress > curtainSeekBar.Progress; + int curBarProgress = curtainSeekBar.Progress; + btnProgress.Text = progress + "%"; + new System.Threading.Thread(() => + { + try + { + while (progress != curBarProgress && onCurtainAnimation) + { + Application.RunOnMainThread(() => + { + if (runningDirection) + { + if (curtainSeekBar.Progress + 5 > progress) + { + curtainSeekBar.Progress = progress; + } + else + { + curtainSeekBar.Progress = curtainSeekBar.Progress + 5; + } + } + else + { + if (curtainSeekBar.Progress - 5 < progress) + { + curtainSeekBar.Progress = progress; + } + else + { + curtainSeekBar.Progress = curtainSeekBar.Progress - 5; + } + } + curBarProgress = curtainSeekBar.Progress; + }); + System.Threading.Thread.Sleep(100); + } + } + catch { } + finally + { + new System.Threading.Thread(() => + { + System.Threading.Thread.Sleep(3000); + onCurtainAnimation = false; + }) + { IsBackground = true, Priority = System.Threading.ThreadPriority.Lowest }.Start(); + } + }).Start(); + } + + + /// <summary> + /// 鍔犺浇浜嬩欢鍒楄〃 + /// </summary> + void LoadEventList() + { + LoadEvent_ControlEvent(); + LoadCollectionEvent(); + + //鍥為��鍒锋柊淇℃伅浜嬩欢 + actionRefresh = () => + { + btnFunctionName.Text = btnFunctionName_Out.Text = function.name; + btnFromFloor_Out.Text = btnFromFoorAndRoom.Text = function.GetRoomListName(); + //function.SaveFunctionData(true); + }; + } + /// <summary> + /// 鏀惰棌鍔熻兘鎸夐挳浜嬩欢 + /// </summary> + void LoadCollectionEvent() + { + btnCollection.MouseUpEventHandler += (sender, e) => + { + btnCollection.IsSelected = function.collect = btnCollection_Out.IsSelected = !btnCollection.IsSelected; + function.CollectFunction(); + }; + } + + /// <summary> + /// 鍔犺浇绐楀笜鎺у埗浜嬩欢 + /// </summary> + void LoadEvent_ControlEvent() + { + btnCurtainClose.MouseUpEventHandler = (sender, e) => + { + //if (!function.online) + //{ + // new Tip() + // { + // CloseTime = 1, + // Text = Language.StringByID(StringId.DeviceOfflineCannotOption), + // Direction = AMPopTipDirection.None, + // }.Show(MainPage.BaseView); + // return; + //} + new System.Threading.Thread(() => + { + System.Threading.Thread.Sleep(2000); + Application.RunOnMainThread(() => + { + btnCurtainClose.IsSelected = false; + }); + }) + { IsBackground = true }.Start(); + function.trait_on_off.curValue = "off"; + function.SetAttrState(FunctionAttributeKey.Percent, 0); + System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>(); + d.Add(FunctionAttributeKey.OnOff, function.trait_on_off.curValue.ToString()); + DriverLayer.Control.Ins.SendWriteCommand(function, d); + CurtainAnimation(0); + }; + + btnCurtainStop.MouseUpEventHandler = (sender, e) => + { + //if (!function.online) + //{ + // new Tip() + // { + // CloseTime = 1, + // Text = Language.StringByID(StringId.DeviceOfflineCannotOption), + // Direction = AMPopTipDirection.None, + // }.Show(MainPage.BaseView); + // return; + //} + onCurtainAnimation = false; + new System.Threading.Thread(() => + { + System.Threading.Thread.Sleep(2000); + Application.RunOnMainThread(() => + { + btnCurtainStop.IsSelected = false; + }); + }) + { IsBackground = true }.Start(); + function.trait_on_off.curValue = "stop"; + System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>(); + d.Add(FunctionAttributeKey.OnOff, function.trait_on_off.curValue.ToString()); + DriverLayer.Control.Ins.SendWriteCommand(function, d); + }; + + btnCurtainOpen.MouseUpEventHandler = (sender, e) => + { + //if (!function.online) + //{ + // new Tip() + // { + // CloseTime = 1, + // Text = Language.StringByID(StringId.DeviceOfflineCannotOption), + // Direction = AMPopTipDirection.None, + // }.Show(MainPage.BaseView); + // return; + //} + new System.Threading.Thread(() => + { + System.Threading.Thread.Sleep(2000); + Application.RunOnMainThread(() => + { + btnCurtainOpen.IsSelected = false; + }); + }) + { IsBackground = true }.Start(); + function.trait_on_off.curValue = "on"; + function.SetAttrState(FunctionAttributeKey.Percent, 100); + System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>(); + d.Add(FunctionAttributeKey.OnOff, function.trait_on_off.curValue.ToString()); + DriverLayer.Control.Ins.SendWriteCommand(function, d); + CurtainAnimation(100); + }; + + //if (function.online) + { + btnCurtainStop.MouseDownEventHandler = (sender, e) => + { + btnCurtainStop.IsSelected = true; + btnCurtainClose.IsSelected = false; + btnCurtainOpen.IsSelected = false; + }; + btnCurtainOpen.MouseDownEventHandler = (sender, e) => + { + btnCurtainOpen.IsSelected = true; + btnCurtainClose.IsSelected = false; + btnCurtainStop.IsSelected = false; + }; + btnCurtainClose.MouseDownEventHandler = (sender, e) => + { + btnCurtainClose.IsSelected = true; + btnCurtainOpen.IsSelected = false; + btnCurtainStop.IsSelected = false; + }; + + curtainSeekBar.OnProgressChangedEvent = (sender, e) => + { + btnProgress.Text = curtainSeekBar.Progress + "%"; + }; + curtainSeekBar.OnStopTrackingTouchEvent = (sender, e) => + { + btnProgress.Text = curtainSeekBar.Progress + "%"; + //controlBar.Progress = curtainSeekBar.Progress; + new System.Threading.Thread(() => + { + function.SetAttrState(FunctionAttributeKey.Percent, e); + function.refreshTime = DateTime.Now; + System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>(); + d.Add(FunctionAttributeKey.Percent, e.ToString()); + DriverLayer.Control.Ins.SendWriteCommand(function, d); + }) + { IsBackground = true }.Start(); + }; + + } + } + + } +} \ No newline at end of file diff --git a/HDL_ON/UI/UI2/FuntionControlView/Light/ColorTureLampPage.cs b/HDL_ON/UI/UI2/FuntionControlView/Light/ColorTureLampPage.cs index 90cadf6..d82a852 100644 --- a/HDL_ON/UI/UI2/FuntionControlView/Light/ColorTureLampPage.cs +++ b/HDL_ON/UI/UI2/FuntionControlView/Light/ColorTureLampPage.cs @@ -354,20 +354,19 @@ new System.Threading.Thread(() => { while (true) { - System.Threading.Thread.Sleep(500); - System.Threading.Thread.Sleep(500); + System.Threading.Thread.Sleep(1000); if (curDimmerStatus) { continue; } if (onDimmerBar) { - onDimmerBar = false; continue; } else { DriverLayer.Control.Ins.SendReadCommand(function); + curDimmerStatus = true; } } }) diff --git a/HDL_ON/UI/UI2/FuntionControlView/Light/ColorTureLampPageBLL.cs b/HDL_ON/UI/UI2/FuntionControlView/Light/ColorTureLampPageBLL.cs index 6da0079..4ab9b83 100644 --- a/HDL_ON/UI/UI2/FuntionControlView/Light/ColorTureLampPageBLL.cs +++ b/HDL_ON/UI/UI2/FuntionControlView/Light/ColorTureLampPageBLL.cs @@ -175,45 +175,41 @@ { dimmerBar.OnStartTrackingTouchEvent = (sender, e) => { - onDimmerBar = true; + curDimmerStatus = onDimmerBar = true; }; dimmerBar.OnProgressChangedEvent = (sender, e) => { - dimmerBar.SetProgressBarColors(CSS_Color.AuxiliaryColor1, CSS_Color.AuxiliaryColor1); - //function.fadeTime = 0; - //if (!btnSwitch.IsSelected) - //{ - // dimmerBar.SetProgressBarColors(CSS_Color.AuxiliaryColor1, CSS_Color.AuxiliaryColor1); - //} - //btnSwitch.IsSelected = e > 0 ? true : false; - //function.brightness = e; - //function.trait_on_off.curValue = e > 0 ? "on" : "off"; + //dimmerBar.SetProgressBarColors(CSS_Color.AuxiliaryColor1, CSS_Color.AuxiliaryColor1); + if (!btnSwitch.IsSelected) + { + dimmerBar.SetProgressBarColors(CSS_Color.AuxiliaryColor1, CSS_Color.AuxiliaryColor1); + } + btnSwitch.IsSelected = e > 0 ? true : false; + function.trait_on_off.curValue = e > 0 ? "on" : "off"; - //if (e == 0 || e == 100) - //{ - // System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>(); - // d.Add(FunctionAttributeKey.Brightness, function.brightness.ToString()); - // Control.Ins.SendWriteCommand(function, d); - //} - //else - //{ - // if (200 < (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, function.brightness.ToString()); - // Control.Ins.SendWriteCommand(function, d); - // }) - // { IsBackground = true }.Start(); - // } - //} + if (e == 0 || e == 100) + { + 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); + } + 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 - 16) / 100) + Application.GetRealWidth(40); - //btnBrightnessText.Text = function.brightness + "%"; - btnBrightnessText.Y = ((100 - dimmerBar.Progress) * Application.GetRealHeight(222 - 16) / 100) + Application.GetRealWidth(80); + btnBrightnessText.Y = ((100 - dimmerBar.Progress) * Application.GetRealHeight(222 - 16) / 100) + Application.GetRealWidth(80); btnBrightnessText.Text = dimmerBar.Progress + "%"; }; diff --git a/HDL_ON/UI/UI2/FuntionControlView/Light/DimmerPage.cs b/HDL_ON/UI/UI2/FuntionControlView/Light/DimmerPage.cs index 6aca64f..58c4a31 100644 --- a/HDL_ON/UI/UI2/FuntionControlView/Light/DimmerPage.cs +++ b/HDL_ON/UI/UI2/FuntionControlView/Light/DimmerPage.cs @@ -267,12 +267,12 @@ new System.Threading.Thread(() => { while (true) { - System.Threading.Thread.Sleep(500); + System.Threading.Thread.Sleep(2000); if (curDimmerStatus) { continue; } - if ( onDimmerBar) + if (onDimmerBar) { onDimmerBar = false; continue; @@ -280,6 +280,7 @@ else { DriverLayer.Control.Ins.SendReadCommand(function); + curDimmerStatus = true; } } }) diff --git a/HDL_ON/UI/UI2/FuntionControlView/Light/DimmerPageBLL.cs b/HDL_ON/UI/UI2/FuntionControlView/Light/DimmerPageBLL.cs index 519aec2..f8bcb69 100644 --- a/HDL_ON/UI/UI2/FuntionControlView/Light/DimmerPageBLL.cs +++ b/HDL_ON/UI/UI2/FuntionControlView/Light/DimmerPageBLL.cs @@ -104,10 +104,10 @@ function.SetAttrState(FunctionAttributeKey.Brightness, dimmerBar.Progress); System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>(); d.Add(FunctionAttributeKey.Brightness, dimmerBar.Progress.ToString()); - if(dimmerBar.Progress > 0) - { - d.Add(FunctionAttributeKey.OnOff, "on"); - } + //if(dimmerBar.Progress > 0) + //{ + // d.Add(FunctionAttributeKey.OnOff, "on"); + //} Control.Ins.SendWriteCommand(function, d); btnBrightnessText.Text = dimmerBar.Progress + "%"; }; @@ -131,7 +131,7 @@ } else { - if (500 < (DateTime.Now - function.refreshTime).TotalMilliseconds) + if (350 < (DateTime.Now - function.refreshTime).TotalMilliseconds) { function.refreshTime = DateTime.Now; new System.Threading.Thread(() => diff --git a/HDL_ON/UI/UI2/FuntionControlView/Light/RGBPage.cs b/HDL_ON/UI/UI2/FuntionControlView/Light/RGBPage.cs index 45ef832..84f44bd 100644 --- a/HDL_ON/UI/UI2/FuntionControlView/Light/RGBPage.cs +++ b/HDL_ON/UI/UI2/FuntionControlView/Light/RGBPage.cs @@ -349,6 +349,30 @@ DriverLayer.Control.Ins.SendReadCommand(function); }) { IsBackground = true }.Start(); + + + + new System.Threading.Thread(() => { + while (true) + { + System.Threading.Thread.Sleep(1000); + if (curDimmerStatus) + { + continue; + } + if (onDimmerBar) + { + continue; + } + else + { + DriverLayer.Control.Ins.SendReadCommand(function); + curDimmerStatus = true; + } + } + }) + { IsBackground = true }.Start(); + } } } diff --git a/HDL_ON/UI/UI2/FuntionControlView/Light/RGBPageBLL.cs b/HDL_ON/UI/UI2/FuntionControlView/Light/RGBPageBLL.cs index 4826777..023c828 100644 --- a/HDL_ON/UI/UI2/FuntionControlView/Light/RGBPageBLL.cs +++ b/HDL_ON/UI/UI2/FuntionControlView/Light/RGBPageBLL.cs @@ -207,6 +207,7 @@ }; } + bool curDimmerStatus = false; /// <summary> /// 鐏厜璋冨厜浜嬩欢 /// </summary> @@ -225,12 +226,7 @@ // }.Show(MainPage.BaseView); // return; //} - new System.Threading.Thread(() => - { - System.Threading.Thread.Sleep(200); - onDimmerBar = false; - }) - { IsBackground = true }.Start(); + curDimmerStatus = false; function.SetAttrState(FunctionAttributeKey.Brightness, dimmerBar.Progress); System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>(); d.Add(FunctionAttributeKey.Brightness, dimmerBar.Progress.ToString()); @@ -241,44 +237,42 @@ { dimmerBar.OnStartTrackingTouchEvent = (sender, e) => { - onDimmerBar = true; + curDimmerStatus = onDimmerBar = true; }; dimmerBar.OnProgressChangedEvent = (sender, e) => { - //function.fadeTime = 0; - //if (!btnSwitch.IsSelected) - //{ - // dimmerBar.ProgressBarColor = CSS.CSS_Color.AuxiliaryColor1; - //} - //btnSwitch.IsSelected = e > 0 ? true : false; - //function.brightness = e; - //function.trait_on_off.curValue = e > 0 ? "on" : "off"; + if (!btnSwitch.IsSelected) + { + dimmerBar.ProgressBarColor = CSS.CSS_Color.AuxiliaryColor1; + } + btnSwitch.IsSelected = e > 0 ? true : false; + function.trait_on_off.curValue = e > 0 ? "on" : "off"; - //if (e == 0 || e == 100) - //{ - // System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>(); - // d.Add(FunctionAttributeKey.Brightness, function.brightness.ToString()); - // Control.Ins.SendWriteCommand(function, d); - //} - //else - //{ - // if (200 < (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, function.brightness.ToString()); - // Control.Ins.SendWriteCommand(function, d); - // }) - // { IsBackground = true }.Start(); - // } - // else - // { - // MainPage.Log("skip dimmer control!!"); - // } - //} + if (e == 0 || e == 100) + { + 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); + } + 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!!"); + } + } }; } } -- Gitblit v1.8.0