From 0ab9960587ececb5d3e13e7fb062e2f67308f9e7 Mon Sep 17 00:00:00 2001 From: JLChen <551775569@qq.com> Date: 星期二, 30 十一月 2021 13:33:03 +0800 Subject: [PATCH] 2021-11-30 1.修复乐橙Android,没调用拒接接口问题。 --- HDL_ON/UI/UI2/FuntionControlView/Light/RGBPageBLL.cs | 143 ++++++++++++++++++++++++++++++----------------- 1 files changed, 91 insertions(+), 52 deletions(-) diff --git a/HDL_ON/UI/UI2/FuntionControlView/Light/RGBPageBLL.cs b/HDL_ON/UI/UI2/FuntionControlView/Light/RGBPageBLL.cs index 89900c2..91f95bd 100644 --- a/HDL_ON/UI/UI2/FuntionControlView/Light/RGBPageBLL.cs +++ b/HDL_ON/UI/UI2/FuntionControlView/Light/RGBPageBLL.cs @@ -9,18 +9,18 @@ /// <summary> /// 鏇存柊鍔熻兘鐘舵�� /// </summary> - public static void UpdataStates(Light uFunction) + public static void UpdataStates(Function updateTemp) { - Application.RunOnMainThread((Action)(() => + Application.RunOnMainThread((() => { try { if (bodyView == null) return; - if (uFunction.spk == bodyView.light.spk && uFunction.sid == bodyView.light.sid) + if (updateTemp.spk == bodyView.function.spk && updateTemp.sid == bodyView.function.sid) { - if (uFunction.trait_on_off.curValue.ToString() == "on") + if (updateTemp.trait_on_off.curValue.ToString() == "on") { //瑙e喅閮ㄥ垎瀹夊崜鎵嬫満锛屽埛鏂板浘鐗囨椂浼氬彉灏忛棶棰� if (bodyView.colorPicker.ColorImagePath != "FunctionIcon/Light/ColorWheel.png") @@ -31,11 +31,11 @@ bodyView.btnSwitch.IsSelected = true; if (!bodyView.onDimmerBar) { - bodyView.dimmerBar.Progress = uFunction.brightness; + bodyView.dimmerBar.Progress = Convert.ToInt32(updateTemp.GetAttrState(FunctionAttributeKey.Brightness)); } } //鐘舵�佷竴鏍锋椂,涓嶅啀鍒锋柊瑙嗗浘 - else if (uFunction.trait_on_off.curValue.ToString() == "off" && bodyView.btnSwitch.IsSelected == true) + else if (updateTemp.trait_on_off.curValue.ToString() == "off" && bodyView.btnSwitch.IsSelected == true) { //瑙e喅閮ㄥ垎瀹夊崜鎵嬫満锛屽埛鏂板浘鐗囨椂浼氬彉灏忛棶棰� if (bodyView.colorPicker.ColorImagePath != "FunctionIcon/Light/ColorWheelGray.png") @@ -48,8 +48,9 @@ //鑹茬洏鐨勫渾鐐归殣钘� bodyView.btnWhiteRound.Visible = false; } - bodyView.btnCurColor.BackgroundColor = (uint)(0xFF000000 + bodyView.light.GetRGBcolor()); - if (bodyView.light.GetRGBcolor() == 16777215 && bodyView.btnCurColor.BorderColor != 0x00000000) + 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; } @@ -77,8 +78,8 @@ LoadEvet_ChangeFadeTime(); //鍥為��鍒锋柊淇℃伅浜嬩欢 actionRefresh = () => { - btnFunctionName.Text = btnFunctionName_Out.Text = light.name; - btnFromFloor_Out.Text = btnFromFoorAndRoom.Text = light.GetRoomListName(); + btnFunctionName.Text = btnFunctionName_Out.Text = function.name; + btnFromFloor_Out.Text = btnFromFoorAndRoom.Text = function.GetRoomListName(); }; } @@ -95,25 +96,16 @@ int circleR = colorPicker.Width / 2 - Application.GetRealWidth(12); colorPicker.ColorChaged += (sender2, e2) => { - if (light.trait_on_off.curValue.ToString() == "off" - || pointIsRight == false) + if (function.trait_on_off.curValue.ToString() == "off" || pointIsRight == false) { //pointIsRight:鐐圭殑鍖哄煙涓嶆槸鍦嗙洏鍐� return; } - if ((DateTime.Now - colorChangeTime).TotalMilliseconds > 200) - { - light.SetRGBcolor(e2); - colorChangeTime = DateTime.Now; - btnCurColor.BackgroundColor = (uint)(0xFF000000 + light.GetRGBcolor()); - System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>(); - d.Add(FunctionAttributeKey.RGB, light.GetRGBcolorString()); - Control.Ins.SendWriteCommand(light, d); - } + lastColor = e2; }; colorPicker.MouseDownEventHandler += (sender, e) => { - if (light.trait_on_off.curValue.ToString() == "off") + if (function.trait_on_off.curValue.ToString() == "off") { return; } @@ -131,11 +123,57 @@ btnWhiteRound.Visible = true; } }; + colorPicker.MouseMoveEventHandler += (sender, e) => { //褰撻紶鏍囩偣涓嬩簨浠跺鐞� colorPicker.MouseDownEventHandler(sender, e); + //if (function.trait_on_off.curValue.ToString() == "off") + //{ + // return; + //} + //pointIsRight = this.CheckPoint(circleR, colorPicker.Width / 2, colorPicker.Height / 2, (int)e.X, (int)e.Y); + //if (pointIsRight == false) + //{ + // //鐐圭殑鍖哄煙涓嶆槸鍦嗙洏鍐� + // return; + //} + ////鏄剧ず鐧界偣 + //btnWhiteRound.X = (int)e.X - btnWhiteRound.Width / 2; + //btnWhiteRound.Y = (int)e.Y - btnWhiteRound.Height / 2; + //if (btnWhiteRound.Visible == false) + //{ + // btnWhiteRound.Visible = true; + //} + //btnCurColor.BackgroundColor = (uint)(0xFF000000 + lightTemp.GetRGBcolor(function)); }; + + var colorChangeEvent = new System.Threading.Thread(() => { + while (this.Parent != null) + { + if (function.trait_on_off.curValue.ToString() == "off" || pointIsRight == false) + { + //pointIsRight:鐐圭殑鍖哄煙涓嶆槸鍦嗙洏鍐� + continue; + } + + for (int i = 0; i < 3; i++) + { + if (lightTemp.GetRGBbytes(function)[i].ToString() != lastColor[i].ToString()) + { + function.SetAttrState(FunctionAttributeKey.RGB, lastColor); + lightTemp.SetRGBcolor(lastColor, function); + System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>(); + d.Add(FunctionAttributeKey.RGB, lightTemp.GetRGBcolorString(function)); + Control.Ins.SendWriteCommand(function, d); + break; + } + } + System.Threading.Thread.Sleep(200); + } + }); + colorChangeEvent.IsBackground = true; + colorChangeEvent.Start(); } /// <summary> @@ -144,8 +182,8 @@ void LoadCollectionEvent() { btnCollection.MouseUpEventHandler += (sender, e) => { - btnCollection.IsSelected = light.collect = btnCollection_Out.IsSelected = !btnCollection.IsSelected; - light.CollectFunction(); + btnCollection.IsSelected = function.collect = btnCollection_Out.IsSelected = !btnCollection.IsSelected; + function.CollectFunction(); }; } @@ -163,39 +201,39 @@ onDimmerBar = false; }) { IsBackground = true }.Start(); - light.brightness = dimmerBar.Progress; + function.SetAttrState(FunctionAttributeKey.Brightness, dimmerBar.Progress); System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>(); - d.Add(FunctionAttributeKey.Brightness, light.brightness.ToString()); - Control.Ins.SendWriteCommand(light, d); - light.fadeTime = barFadeTime.Progress; + d.Add(FunctionAttributeKey.Brightness, dimmerBar.Progress.ToString()); + + Control.Ins.SendWriteCommand(function, d); }; dimmerBar.OnProgressChangedEvent = (sender, e) => { - //light.fadeTime = 0; + //function.fadeTime = 0; //if (!btnSwitch.IsSelected) //{ // dimmerBar.ProgressBarColor = CSS.CSS_Color.AuxiliaryColor1; //} //btnSwitch.IsSelected = e > 0 ? true : false; - //light.brightness = e; - //light.trait_on_off.curValue = e > 0 ? "on" : "off"; + //function.brightness = e; + //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, light.brightness.ToString()); - // Control.Ins.SendWriteCommand(light, d); + // d.Add(FunctionAttributeKey.Brightness, function.brightness.ToString()); + // Control.Ins.SendWriteCommand(function, d); //} //else //{ - // if (200 < (DateTime.Now - light.refreshTime).TotalMilliseconds) + // if (200 < (DateTime.Now - function.refreshTime).TotalMilliseconds) // { - // light.refreshTime = DateTime.Now; + // function.refreshTime = DateTime.Now; // new System.Threading.Thread(() => // { - // //Control.Send(CommandType_A.write, light); + // //Control.Send(CommandType_A.write, function); // System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>(); - // d.Add(FunctionAttributeKey.Brightness, light.brightness.ToString()); - // Control.Ins.SendWriteCommand(light, d); + // d.Add(FunctionAttributeKey.Brightness, function.brightness.ToString()); + // Control.Ins.SendWriteCommand(function, d); // }) // { IsBackground = true }.Start(); // } @@ -214,8 +252,8 @@ { barFadeTime.OnStopTrackingTouchEvent = (sender, e) => { - light.fadeTime = barFadeTime.Progress; - light.UpdataFuncitonInfo(); + function.SetAttrState(FunctionAttributeKey.FadeTime, barFadeTime.Progress); + function.UpdataFuncitonInfo(); }; } /// <summary> @@ -230,24 +268,24 @@ bodyView.colorPicker.ColorImagePath = btnSwitch.IsSelected ? "FunctionIcon/Light/ColorWheel.png" : "FunctionIcon/Light/ColorWheelGray.png"; new System.Threading.Thread(() => { - light.trait_on_off.curValue = btnSwitch.IsSelected ? "on" : "off"; + function.trait_on_off.curValue = btnSwitch.IsSelected ? "on" : "off"; System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>(); - d.Add(FunctionAttributeKey.OnOff, light.trait_on_off.curValue.ToString()); - d.Add(FunctionAttributeKey.FadeTime, light.fadeTime.ToString()); + d.Add(FunctionAttributeKey.OnOff, function.trait_on_off.curValue.ToString()); + d.Add(FunctionAttributeKey.FadeTime, function.GetAttrState(FunctionAttributeKey.FadeTime)); if (btnSwitch.IsSelected) { - if(light.lastBrightness == 0) + if(function.lastBrightness == 0) { - light.lastBrightness = 100; + function.lastBrightness = 100; dimmerBar.Progress = 100; } - d.Add(FunctionAttributeKey.Brightness, light.lastBrightness.ToString()); + d.Add(FunctionAttributeKey.Brightness, function.lastBrightness.ToString()); } else { - light.lastBrightness = light.brightness; + function.lastBrightness = Convert.ToInt32(function.GetAttrState(FunctionAttributeKey.Brightness)); } - Control.Ins.SendWriteCommand(light, d); + Control.Ins.SendWriteCommand(function, d); }) { IsBackground = true }.Start(); }; @@ -259,19 +297,20 @@ { btnRestoredPoint.MouseUpEventHandler = (sender, e) => { - if(light.trait_on_off.curValue.ToString() == "off") + if(function.trait_on_off.curValue.ToString() == "off") { return; } btnWhiteRound.Visible = true; btnWhiteRound.Gravity = Gravity.Center; - light.SetRGBcolor(new byte[] { 255, 255, 255 }); + lightTemp.SetRGBcolor(new byte[] { 255, 255, 255 },function); btnCurColor.BackgroundColor = 0xFFFFFFFF; btnCurColor.BorderColor = CSS.CSS_Color.PromptingColor2; System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>(); - d.Add(FunctionAttributeKey.RGB, light.GetRGBcolorString()); - Control.Ins.SendWriteCommand(light, d); + d.Add(FunctionAttributeKey.RGB, lightTemp.GetRGBcolorString(function)); + Control.Ins.SendWriteCommand(function, d); + lastColor = new byte[] { 255, 255, 255 }; }; } -- Gitblit v1.8.0