From 25429f085093d89d543a0b90e30d0d62d1b7dac9 Mon Sep 17 00:00:00 2001 From: hxb <hxb@hdlchina.com.cn> Date: 星期二, 30 八月 2022 09:37:38 +0800 Subject: [PATCH] 合并了IOS的代码 --- ZigbeeApp/Shared/Phone/MainPage/Controls/DeviceCard/DeviceColorLightCardControl.cs | 65 +++++++++++++++++++++++++------- 1 files changed, 51 insertions(+), 14 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/MainPage/Controls/DeviceCard/DeviceColorLightCardControl.cs b/ZigbeeApp/Shared/Phone/MainPage/Controls/DeviceCard/DeviceColorLightCardControl.cs index 0b2751f..ab2ae45 100755 --- a/ZigbeeApp/Shared/Phone/MainPage/Controls/DeviceCard/DeviceColorLightCardControl.cs +++ b/ZigbeeApp/Shared/Phone/MainPage/Controls/DeviceCard/DeviceColorLightCardControl.cs @@ -1,4 +1,5 @@ -锘縰sing System; +锘縰sing Shared.Phone.UserCenter; +using System; using System.Collections.Generic; using System.Text; using ZigBee.Device; @@ -16,9 +17,9 @@ /// 鍒濆鍖栨帶浠� /// </summary> /// <param name="i_device"></param> - public override void InitControl(CommonDevice i_device) + public override void InitControl(CommonDevice i_device, Common.Room i_nowSelectRoom) { - base.InitControl(i_device); + base.InitControl(i_device, i_nowSelectRoom); //娣诲姞璺宠浆娣卞害鍗$墖淇℃伅浜嬩欢 this.AddDetailInfoEvent(i_device); @@ -27,9 +28,24 @@ var btnSwitch = this.AddSwitchControl(); btnSwitch.ButtonClickEvent += (sender, e) => { + //鑾峰彇褰撳墠浜害 + int level = Convert.ToInt32(i_device.GetType().InvokeMember("Level", System.Reflection.BindingFlags.GetField, null, i_device, null)); + //濡傛灉浣忓畢涓鸿櫄鎷熶綇瀹� + if (Common.Config.Instance.Home.IsVirtually == true) + { + //鐩存帴鍙樻洿缂撳瓨 + ((LightBase)i_device).OnOffStatus = btnSwitch.IsSelected == true ? 0 : 1; + if (((LightBase)i_device).OnOffStatus == 1 && level == 0) + { + //濡傛灉褰撳墠鏄墦寮�鐘舵��,骞朵笖浜害涓�0鐨勮瘽,鍒欓渶瑕佸彉鎴�100%浜害 + i_device.GetType().InvokeMember("Level", System.Reflection.BindingFlags.SetField, null, i_device, new object[] { 100 }); + } + this.RefreshControlInfo(this.device); + return; + } bool setStatu = !btnSwitch.IsSelected; //鍙樻洿鍗$墖鐘舵�� - this.SetCardStatu(setStatu); + this.SetCardOpenStatu(setStatu); //妫�娴嬫槸鍚﹁幏鍙栫綉鍏冲弽棣堢殑缁撴灉,濡傛灉缃戝叧娌℃湁鍥炲,鍒欎細寮瑰嚭娑堟伅 this.StartCheckResponeResult(!setStatu); @@ -37,7 +53,21 @@ { //鎵撳紑 this.SetDeviceStatuText(Language.StringByID(R.MyInternationalizationString.uOpen1)); - i_device.SwitchControl(1); + if (level == 0) + { + //濡傛灉褰撳墠鏄墦寮�鐘舵��,骞朵笖浜害涓�0鐨勮瘽,鍒欓渶瑕佸彉鎴�100%浜害 + i_device.GetType().InvokeMember("SetLevel", System.Reflection.BindingFlags.InvokeMethod, null, i_device, new object[] { 255 }); + } + else + { + i_device.SwitchControl(1); + HdlThreadLogic.Current.RunThread(() => + { + //鑾峰彇鐏厜浜害 + System.Threading.Thread.Sleep(300); + HdlDeviceAttributeLogic.Current.SendLevelStatuComand(i_device); + }); + } } else { @@ -62,12 +92,11 @@ { Common.CommonPage.Instance.IsDrawerLockMode = true; - var dimmableLightControl = new Phone.Device.Light.DimmableLightControl(); - UserView.HomePage.Instance.AddChidren(dimmableLightControl); - UserView.HomePage.Instance.PageIndex += 1; - dimmableLightControl.IsDrawerLockMode = true; - dimmableLightControl.Show(i_device, UserCenter.HdlRoomLogic.Current.CurrentRoom); - dimmableLightControl.action += this.CardDetailInfoBackEvent; + //褰╃伅,璋冨厜鍣ㄧ被鍨嬬殑娣卞害鍗$墖鐣岄潰 + var form = new ControlForm.DeviceColorLightDetailCardForm(); + form.RowOrCardControl = this; + form.AddForm(i_device, this.nowSelectRoom, 965, 1316); + form.FormCloseEvent += this.CardDetailInfoBackEvent; }; } @@ -92,10 +121,18 @@ /// <summary> /// 鍙戦�佽幏鍙栫姸鎬佸懡浠� /// </summary> - /// <param name="i_device"></param> - public override void SendStatuComand(CommonDevice i_device) + public override void SendStatuComand() { - Device.DeviceLogic.ReadDeviceAttributeLogic.Instance.SendDimmableLightStatuComand(i_device); + if (Common.Config.Instance.Home.IsVirtually == true) + { + //濡傛灉浣忓畢涓鸿櫄鎷熶綇瀹�,鍒欐鍔熻兘鏃犳晥 + return; + } + //妫�娴嬭兘鍚﹀彂閫佽幏鍙栫姸鎬佸懡浠� + if (this.CheckCanSendStatuComand() == true) + { + HdlDeviceAttributeLogic.Current.SendDimmableLightStatuComand(this.device); + } } #endregion -- Gitblit v1.8.0