using System; using HDL_ON.DriverLayer; using HDL_ON.Entity; using HDL_ON.UI.CSS; using Shared; namespace HDL_ON.UI { public partial class ACPage { static DateTime updataTime = DateTime.MinValue; public static void UpdataStates(AC uAc) { try { Application.RunOnMainThread((() => { if (bodyView == null) { return; } if (updataTime.AddMilliseconds(300) > DateTime.Now) { return; } updataTime = DateTime.Now; bodyView.btnTemp.Text = uAc.GetAttrState(FunctionAttributeKey.SetTemp); bodyView.btnIndoorTemp.Text = Language.StringByID(StringId.IndoorTemp) + Convert.ToInt32(Convert.ToDouble(uAc.GetAttrState((string)FunctionAttributeKey.IndoorTemp))) + "°C"; bodyView.btnMode.UnSelectedImagePath = uAc.GetModeIconPath(); bodyView.btnWindSpeed.UnSelectedImagePath = uAc.GetFanIconPath(); bodyView.arcBar.Progress = Convert.ToInt32(Convert.ToDouble(uAc.GetAttrState(FunctionAttributeKey.SetTemp))); if (uAc.trait_on_off.curValue.ToString() == "on") { bodyView.arcBar.IsOffline = false; bodyView.btnSwitch.IsSelected = true; bodyView.arcBar.ThumbImagePath = "FunctionIcon/AC/DiyThumbIconOn.png"; if (uAc.GetAttrState((string)FunctionAttributeKey.Mode) == "fan") { bodyView.arcBar.IsClickable = false; } else { bodyView.arcBar.IsClickable = true; } } else { bodyView.arcBar.IsOffline = true; bodyView.btnSwitch.IsSelected = false; bodyView.arcBar.IsClickable = false; bodyView.arcBar.ThumbImagePath = "FunctionIcon/AC/DiyThumbIcon.png"; } })); } catch (Exception ex) { MainPage.Log($"acpage updata error {ex.Message}"); } } void LoadEventList() { LoadCollectionEvent(); LoadEvent_AcStatesChange(); LoadEvent_TempChange(); //回退刷新信息事件 actionRefresh = () => { btnFunctionName.Text = btnFunctionName_Out.Text = aC.name; btnFromFloor_Out.Text = btnFromFoorAndRoom.Text = aC.GetRoomListName(); }; } /// /// 收藏功能按钮事件 /// void LoadCollectionEvent() { btnCollection.MouseUpEventHandler += (sender, e) => { btnCollection.IsSelected = aC.collect = btnCollection_Out.IsSelected = !btnCollection.IsSelected; aC.CollectFunction(); }; } /// /// 温度改变模式 /// void LoadEvent_TempChange() { btnMinus.MouseUpEventHandler = (sender, e) => { if (aC.trait_on_off.curValue.ToString() == "off" || aC.GetAttrState(FunctionAttributeKey.Mode) == "fan") { return; } var temp = Convert.ToInt32(aC.GetAttrState(FunctionAttributeKey.SetTemp)); if (temp <= aC.GetAttribute(FunctionAttributeKey.Mode).min) { return; } temp--; arcBar.Progress = temp; btnTemp.Text = temp.ToString(); aC.SetAttrState(FunctionAttributeKey.SetTemp,temp.ToString()); //Control.Send(CommandType_A.write, aC); System.Collections.Generic.Dictionary d = new System.Collections.Generic.Dictionary(); d.Add(FunctionAttributeKey.SetTemp, temp.ToString()); Control.Ins.SendWriteCommand(aC, d); }; btnPlus.MouseUpEventHandler = (sender, e) => { if (aC.trait_on_off.curValue.ToString() == "off" || aC.GetAttrState(FunctionAttributeKey.Mode) == "fan") { return; } var temp = Convert.ToInt32(aC.GetAttrState(FunctionAttributeKey.SetTemp)); if (temp >= aC.GetAttribute(FunctionAttributeKey.SetTemp).max) { return; } temp++; arcBar.Progress = temp; btnTemp.Text = temp.ToString(); aC.SetAttrState(FunctionAttributeKey.SetTemp, temp.ToString()); System.Collections.Generic.Dictionary d = new System.Collections.Generic.Dictionary(); d.Add(FunctionAttributeKey.SetTemp, temp.ToString()); Control.Ins.SendWriteCommand(aC, d); //aC.GetSendJObject }; arcBar.OnStopTrackingTouchEvent = (sender, e) => { aC.SetAttrState(FunctionAttributeKey.SetTemp, arcBar.Progress.ToString()); btnTemp.Text = arcBar.Progress.ToString(); System.Collections.Generic.Dictionary d = new System.Collections.Generic.Dictionary(); d.Add(FunctionAttributeKey.SetTemp, arcBar.Progress.ToString()); Control.Ins.SendWriteCommand(aC, d); }; arcBar.OnProgressChangedEvent = (sender, e) => { aC.SetAttrState(FunctionAttributeKey.SetTemp, e.ToString()); btnTemp.Text = e.ToString(); }; } /// /// 控制模式事件 /// void LoadEvent_AcStatesChange() { btnMode.MouseUpEventHandler = (sender, e) => { if (aC.trait_on_off.curValue.ToString() == "off") { return; } LoadDiv_ChangeModeView(); }; btnWindSpeed.MouseUpEventHandler = (sender, e) => { if (aC.trait_on_off.curValue.ToString() == "off") { return; } LoadDiv_ChangeFanView(); }; btnSwitch.MouseUpEventHandler = (sender, e) => { btnSwitch.IsSelected = !btnSwitch.IsSelected; aC.trait_on_off.curValue = btnSwitch.IsSelected ? "on" : "off"; if (aC.trait_on_off.curValue.ToString() == "on") { arcBar.ThumbImagePath = "FunctionIcon/AC/DiyThumbIconOn.png"; btnSwitch.IsSelected = true; arcBar.IsOffline = false; } else { arcBar.ThumbImagePath = "FunctionIcon/AC/DiyThumbIcon.png"; btnSwitch.IsBold = false; arcBar.IsOffline = true; } System.Collections.Generic.Dictionary d = new System.Collections.Generic.Dictionary(); d.Add(FunctionAttributeKey.OnOff, aC.trait_on_off.curValue.ToString()); Control.Ins.SendWriteCommand(aC, d); }; } /// /// 加载模式改变事件 /// void LoadEvent_ChangeMode(Dialog dialog, FrameLayout dialogView, Button btnModeIcon, Button btnModeText, string curMode) { EventHandler eventHandler = (sender, e) => { dialog.Close(); }; EventHandler eventHandler1 = (sender, e) => { btnModeIcon.IsSelected = btnModeText.IsSelected = true; aC.SetAttrState(FunctionAttributeKey.Mode, curMode); btnMode.UnSelectedImagePath = aC.GetModeIconPath(); System.Collections.Generic.Dictionary d = new System.Collections.Generic.Dictionary(); btnMode.UnSelectedImagePath = btnModeIcon.UnSelectedImagePath; d.Add(FunctionAttributeKey.Mode, curMode); Control.Ins.SendWriteCommand(aC, d); dialog.Close(); if (aC.GetAttrState(FunctionAttributeKey.Mode) == "fan") { bodyView.arcBar.IsClickable = false; } else { bodyView.arcBar.IsClickable = true; } }; btnModeIcon.MouseUpEventHandler = eventHandler1; btnModeText.MouseUpEventHandler = eventHandler1; dialogView.MouseUpEventHandler = eventHandler; } /// /// 加载风速改变事件 /// void LoadEvent_ChangeFan(Dialog dialog, FrameLayout dialogView, Button btnFanIcon, Button btnFanText, string curFan) { EventHandler closeDialogEvent = (sender, e) => { dialog.Close(); }; EventHandler eventHandler1 = (sender, e) => { btnFanIcon.IsSelected = btnFanText.IsSelected = true; aC.SetAttrState(FunctionAttributeKey.FanSpeed, curFan); btnWindSpeed.UnSelectedImagePath = aC.GetFanIconPath(); System.Collections.Generic.Dictionary d = new System.Collections.Generic.Dictionary(); d.Add(FunctionAttributeKey.FanSpeed, curFan); Control.Ins.SendWriteCommand(aC, d); btnWindSpeed.UnSelectedImagePath = btnFanIcon.UnSelectedImagePath; dialog.Close(); }; btnFanIcon.MouseUpEventHandler = eventHandler1; btnFanText.MouseUpEventHandler = eventHandler1; dialogView.MouseUpEventHandler = closeDialogEvent; } } }