From 737c036a39176fd2085ce82b7c60391da8cb508c Mon Sep 17 00:00:00 2001 From: 黄学彪 <hxb@hdlchina.com.cn> Date: 星期二, 31 十二月 2019 19:17:47 +0800 Subject: [PATCH] 合并了代码 --- ZigbeeApp/Shared/Phone/UserCenter/Device/PirSensor/PirSensorBindTargetSettionForm.cs | 285 +++++++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 206 insertions(+), 79 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/PirSensor/PirSensorBindTargetSettionForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/PirSensor/PirSensorBindTargetSettionForm.cs index 97d0d56..dfd70e0 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Device/PirSensor/PirSensorBindTargetSettionForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/PirSensor/PirSensorBindTargetSettionForm.cs @@ -30,13 +30,17 @@ /// </summary> private int lightLevelCount = -1; /// <summary> - /// 鐏厜鐨勯厤缃� + /// PIR浼犳劅鍣ㄧ殑Lux鍊� /// </summary> - private IASZone.ConfigureParamates Lightconfigure = null; + private int pirLuxValue = -1; /// <summary> - /// 鏃ф暟鎹� + /// pir鐨勯厤缃俊鎭� /// </summary> - private List<int> listOldData = new List<int>(); + private IASZone.ConfigureParamates pirConfigure = null; + /// <summary> + /// 鏁版嵁鏄惁鏀瑰彉 + /// </summary> + private bool isDataChanged = false; #endregion @@ -89,89 +93,193 @@ //娓呯┖bodyFrame this.ClearBodyFrame(); - var listView = new VerticalListControl(23); - listView.Height = bodyFrameLayout.Height; + //褰撳墠浜害鍊� + var frameNowLinght = new FrameRowControl(); + frameNowLinght.UseClickStatu = false; + frameNowLinght.BackgroundColor = UserCenterColor.Current.White; + bodyFrameLayout.AddChidren(frameNowLinght); + frameNowLinght.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uNowBrightnessValue) + "锛�" + pirLuxValue + "lux", 900); + + var listView = new VerticalListControl(0); + listView.Y = Application.GetRealHeight(150); + listView.Height = Application.GetRealHeight(585); listView.BackgroundColor = UserCenterColor.Current.White; bodyFrameLayout.AddChidren(listView); //鐓ф槑绛夌骇Frame(鍥犲睍寮�鎶樺彔,浼樺厛澹版槑) var frameLight = new FrameLayout(); - frameLight.Height = Application.GetRealHeight(363); + frameLight.Height = 0; - //濡傛灉婊¤冻----------------------------------------------------------- + //濡傛灉婊¤冻浣庝寒搴︾幆澧� var frameIfRow = new FrameRowControl(listView.rowSpace / 2); frameIfRow.UseClickStatu = false; listView.AddChidren(frameIfRow); - frameIfRow.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uIfSatisfied), 600); - //鍙崇澶� - var btnIfRinght = frameIfRow.AddMostRightEmptyIcon(58, 58); - frameIfRow.ChangedChidrenBindMode(btnIfRinght, ChidrenBindMode.NotBind); - btnIfRinght.UseClickStatu = false; - btnIfRinght.UnSelectedImagePath = "Item/RightNext.png"; - btnIfRinght.SelectedImagePath = "Item/Down.png"; - btnIfRinght.IsSelected = true; - btnIfRinght.ButtonClickEvent += (sender, e) => + frameIfRow.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uIfTheLowBrightnessEnvironmentIsSatisfied), 700); + //寮�鍏虫寜閽� + var btnSwitch = frameIfRow.AddMostRightSwitchIcon(); + btnSwitch.IsSelected = this.pirConfigure.levelEnable; + btnSwitch.ButtonClickEvent += (sender, e) => { - btnIfRinght.IsSelected = !btnIfRinght.IsSelected; + this.isDataChanged = true; + this.pirConfigure.levelEnable = !btnSwitch.IsSelected; + btnSwitch.IsSelected = this.pirConfigure.levelEnable; //灞曞紑鎶樺彔 - frameLight.Height = frameLight.Height > 10 ? 0 : Application.GetRealHeight(363); + if (frameLight.Height > 10) + { + frameLight.Height = 0; + listView.Height -= Application.GetRealHeight(558); + } + else + { + frameLight.Height = Application.GetRealHeight(558); + listView.Height += Application.GetRealHeight(558); + } }; //搴曠嚎 frameIfRow.AddBottomLine(); + if (btnSwitch.IsSelected == true) + { + frameLight.Height = Application.GetRealHeight(558); + listView.Height += Application.GetRealHeight(558); + } listView.AddChidren(frameLight); - //鐓ф槑绛夌骇 - var btnLight = new NormalViewControl(500, 50, true); - btnLight.TextID = R.MyInternationalizationString.uLightLevel; - btnLight.TextSize = 12; - btnLight.TextColor = UserCenterColor.Current.TextGrayColor1; - btnLight.X = Application.GetRealWidth(138); - btnLight.Y = Application.GetRealHeight(58); - frameLight.AddChidren(btnLight); + //鐓у害鍊� + var btnLightView = new NormalViewControl(500, 50, true); + btnLightView.TextID = R.MyInternationalizationString.uIlluminationValue; + btnLightView.TextSize = 12; + btnLightView.TextColor = UserCenterColor.Current.TextGrayColor1; + btnLightView.X = ControlCommonResourse.XXLeft; + btnLightView.Y = Application.GetRealHeight(71); + frameLight.AddChidren(btnLightView); + var btnLightValue = new NormalViewControl(200, 50, true); + btnLightValue.Y = btnLightView.Y; + btnLightValue.X = Application.GetRealWidth(196); + btnLightValue.TextSize = 12; + btnLightValue.TextColor = UserCenterColor.Current.TextGrayColor1; + btnLightValue.Text = this.pirConfigure.levelSize.ToString() + "lux"; + frameLight.AddChidren(btnLightValue); + //杩涘害鏉� - var seekBar = new SeekBarControl(900); + var seekBar = new SeekBarControl(940); seekBar.Gravity = Gravity.Frame; - seekBar.X = Application.GetRealWidth(125); - seekBar.Y = Application.GetRealHeight(142); - seekBar.MaxValue = lightLevelCount - 1; + seekBar.X = Application.GetRealWidth(80); + seekBar.Y = Application.GetRealHeight(159); + seekBar.MaxValue = lightLevelCount; seekBar.ProgressBarColor = 0xfffdb500; frameLight.AddChidren(seekBar); seekBar.ProgressChangedEvent += (div, value) => { - //鍥犱负瀹冪殑绛夌骇鍒诲害浠庡乏寰�鍙虫槸浠庡ぇ鍒板皬鐨� - this.Lightconfigure.levelSize = lightLevelCount - value; + this.isDataChanged = true; + this.pirConfigure.levelSize = value; + btnLightValue.Text = this.pirConfigure.levelSize.ToString() + "lux"; }; - seekBar.Progress = lightLevelCount - Lightconfigure.levelSize; + seekBar.Progress = pirConfigure.levelSize; - //浣� - var btnDown = new NormalViewControl(300, 50, true); - btnDown.TextID = R.MyInternationalizationString.uLow; - btnDown.TextSize = 12; - btnDown.TextColor = UserCenterColor.Current.TextGrayColor3; - btnDown.X = Application.GetRealWidth(138); - btnDown.Y = btnLight.Bottom + Application.GetRealHeight(115); - frameLight.AddChidren(btnDown); - //楂� - var btnUp = new NormalViewControl(300, 50, true); - btnUp.TextID = R.MyInternationalizationString.uHigh; - btnUp.TextSize = 12; - btnUp.TextColor = UserCenterColor.Current.TextGrayColor3; - btnUp.TextAlignment = TextAlignment.CenterRight; - btnUp.X = frameLight.Width - ControlCommonResourse.XXLeft - Application.GetRealWidth(300); - btnUp.Y = btnDown.Y; - frameLight.AddChidren(btnUp); + //鍑忓彿 + var btnMinus = new IconViewControl(104); + btnMinus.UseClickStatu = true; + btnMinus.X = Application.GetRealWidth(847); + btnMinus.Y = Application.GetRealHeight(45); + btnMinus.UnSelectedImagePath = "Item/MinusSign2.png"; + btnMinus.SelectedImagePath = "Item/MinusSign2Selected.png"; + frameLight.AddChidren(btnMinus); + btnMinus.ButtonClickEvent += (sender, e) => + { + if (seekBar.Progress <= 0) + { + return; + } + this.isDataChanged = true; + seekBar.Progress -= 1; + this.pirConfigure.levelSize = seekBar.Progress; + btnLightValue.Text = this.pirConfigure.levelSize.ToString() + "lux"; + }; + + //鍔犲彿 + var btnPlus = new IconViewControl(104); + btnPlus.UseClickStatu = true; + btnPlus.X = btnMinus.Right; + btnPlus.Y = btnMinus.Y; + btnPlus.UnSelectedImagePath = "Item/PlusSign2.png"; + btnPlus.SelectedImagePath = "Item/PlusSign2Selected.png"; + frameLight.AddChidren(btnPlus); + btnPlus.ButtonClickEvent += (sender, e) => + { + if (seekBar.Progress >= 100) + { + return; + } + this.isDataChanged = true; + seekBar.Progress += 1; + this.pirConfigure.levelSize = seekBar.Progress; + btnLightValue.Text = this.pirConfigure.levelSize.ToString() + "lux"; + }; + + //鏆� + var btnDark = new NormalViewControl(120, 50, true); + btnDark.TextID = R.MyInternationalizationString.uDark; + btnDark.TextSize = 12; + btnDark.TextAlignment = TextAlignment.Center; + btnDark.TextColor = UserCenterColor.Current.TextGrayColor3; + btnDark.X = Application.GetRealWidth(70); + btnDark.Y = seekBar.Bottom; + frameLight.AddChidren(btnDark); + var btnZero = new NormalViewControl(120, 50, true); + btnZero.X = btnDark.X; + btnZero.Y = btnDark.Bottom; + btnZero.TextSize = 12; + btnZero.TextAlignment = TextAlignment.Center; + btnZero.TextColor = UserCenterColor.Current.TextGrayColor3; + btnZero.Text = "0lux"; + frameLight.AddChidren(btnZero); + + //浜� + var btnBright = new NormalViewControl(120, 50, true); + btnBright.TextID = R.MyInternationalizationString.uBright; + btnBright.TextSize = 12; + btnBright.TextAlignment = TextAlignment.Center; + btnBright.TextColor = UserCenterColor.Current.TextGrayColor3; + btnBright.X = frameLight.Width - Application.GetRealWidth(120 + 50); + btnBright.Y = btnDark.Y; + frameLight.AddChidren(btnBright); + var btnPersent = new NormalViewControl(120, 50, true); + btnPersent.X = btnBright.X; + btnPersent.Y = btnBright.Bottom; + btnPersent.TextSize = 12; + btnPersent.TextAlignment = TextAlignment.Center; + btnPersent.TextColor = UserCenterColor.Current.TextGrayColor3; + btnPersent.Text = "100lux"; + frameLight.AddChidren(btnPersent); + + var btnIcon = new IconViewControl(58); + btnIcon.X = Application.GetRealWidth(109); + btnIcon.Y = Application.GetRealHeight(431); + btnIcon.UnSelectedImagePath = "Item/Tips.png"; + frameLight.AddChidren(btnIcon); + //鍦ㄥ鍐呮潯浠朵笅锛岄粍鏄忕収搴﹀�肩害涓�10lux锛岄槾澶╃収搴﹀�肩害涓�5~50lux锛岃鏍规嵁瀹為檯闇�瑕佽繘琛岃皟鑺� + var btnTipView = new NormalViewControl(790, 100, true); + btnTipView.TextColor = UserCenterColor.Current.TextGrayColor1; + btnTipView.TextSize = 12; + btnTipView.IsMoreLines = true; + btnTipView.TextAlignment = TextAlignment.Center; + btnTipView.TextID = R.MyInternationalizationString.uPirBrightnessTipMsg; + btnTipView.X = btnIcon.Right + Application.GetRealWidth(23); + btnTipView.Y = btnIcon.Y; + frameLight.AddChidren(btnTipView); + //搴曠嚎 - var btnIfLine = new NormalViewControl(seekBar.Width, ControlCommonResourse.BottomLineHeight, false); - btnIfLine.X = btnDown.X; - btnIfLine.Y = btnDown.Bottom + Application.GetRealHeight(69); + var btnIfLine = new NormalViewControl(frameLight.Width, ControlCommonResourse.BottomLineHeight, false); + btnIfLine.Y = frameLight.Height - ControlCommonResourse.BottomLineHeight; btnIfLine.BackgroundColor = UserCenterColor.Current.ButtomLine; frameLight.AddChidren(btnIfLine); //鎵ц瀵硅薄鐨凢rame(鍥犲睍寮�鎶樺彔,浼樺厛澹版槑) - var frameResult = new FrameListControl(23); + var frameResult = new FrameListControl(29); frameResult.Height = Application.GetRealHeight(310); //灏变細-------------------------------------------------- + listView.rowSpace = Application.GetRealHeight(20);//鍒囨崲闂磋窛 var frameDo = new FrameRowControl(listView.rowSpace / 2); frameDo.UseClickStatu = false; listView.AddChidren(frameDo); @@ -187,7 +295,16 @@ { btnResultRight.IsSelected = !btnResultRight.IsSelected; //灞曞紑鎶樺彔 - frameResult.Height = frameResult.Height > 10 ? 0 : Application.GetRealHeight(310); + if (frameResult.Height > 10) + { + frameResult.Height = 0; + listView.Height -= Application.GetRealHeight(310); + } + else + { + frameResult.Height = Application.GetRealHeight(310); + listView.Height += Application.GetRealHeight(310); + } }; //搴曠嚎 frameDo.AddBottomLine(); @@ -199,6 +316,7 @@ frameResult.AddChidren(rowTarget); rowTarget.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uTriggerTarget), 600); rowTarget.AddRightArrow(); + rowTarget.AddBottomLine(); var btnTargetView = rowTarget.AddMostRightView("", 700); rowTarget.ButtonClickEvent += (sender, e) => { @@ -218,6 +336,7 @@ { btnTargetView.Text = string.Empty; } + this.isDataChanged = true; }; }; @@ -233,8 +352,8 @@ } //寤舵椂 - string strMinute = Lightconfigure.transitionTime / 60 + Language.StringByID(R.MyInternationalizationString.uMinute); - string strSecond = Lightconfigure.transitionTime % 60 + Language.StringByID(R.MyInternationalizationString.uSecond); + string strMinute = pirConfigure.transitionTime / 60 + Language.StringByID(R.MyInternationalizationString.uMinute); + string strSecond = pirConfigure.transitionTime % 60 + Language.StringByID(R.MyInternationalizationString.uSecond); var rowDelay = new FrameRowControl(listView.rowSpace / 2); rowDelay.LeftOffset = Application.GetRealWidth(138) - ControlCommonResourse.XXLeft; frameResult.AddChidren(rowDelay); @@ -272,7 +391,6 @@ { //鎵撳紑杩涘害鏉� this.ShowProgressBar(); - this.listOldData.Clear(); //鑾峰彇缁戝畾鐩爣璁惧 List<CommonDevice> listDevice = await HdlDeviceBindLogic.Current.GetBindTargetDevice(this.deviceIASZone); @@ -282,6 +400,7 @@ this.CloseProgressBar(ShowReLoadMode.YES); return false; } + this.listEsixtDevice.Clear(); foreach (var device in listDevice) { this.listEsixtDevice.Add(Common.LocalDevice.Current.GetDeviceMainKeys(device)); @@ -294,17 +413,28 @@ this.CloseProgressBar(ShowReLoadMode.YES); return false; } - //鑾峰彇鐏厜鐨勯厤缃俊鎭� - this.Lightconfigure = await HdlDevicePirSensorLogic.Current.GetPirSensorLightSettion(deviceIASZone); - if (Lightconfigure == null) + if (lightLevelCount > 100) + { + lightLevelCount = 100; + } + + //鑾峰彇pir鐨勯厤缃俊鎭� + this.pirConfigure = await HdlDevicePirSensorLogic.Current.GetPirSensorLightSettion(deviceIASZone); + if (pirConfigure == null) { //鍏抽棴杩涘害鏉� this.CloseProgressBar(ShowReLoadMode.YES); return false; } - //璁板綍鏃ф暟鎹� - this.listOldData.Add(Lightconfigure.levelSize); - this.listOldData.Add(Lightconfigure.transitionTime); + //鑾峰彇PIR浼犳劅鍣ㄧ殑銆恖ux鍊笺�� + this.pirLuxValue = await HdlDevicePirSensorLogic.Current.GetPirSensorLux(deviceIASZone); + if (pirLuxValue == -1) + { + //鍏抽棴杩涘害鏉� + this.CloseProgressBar(ShowReLoadMode.YES); + return false; + } + //鍏抽棴杩涘害鏉� this.CloseProgressBar(); @@ -346,13 +476,13 @@ var listTemp2 = new List<string>() { "00" + strSecond }; listSecond.Add(listTemp2); - string value = (this.Lightconfigure.transitionTime / 60).ToString().PadLeft(2, '0') + strMinute; + string value = (this.pirConfigure.transitionTime / 60).ToString().PadLeft(2, '0') + strMinute; int index1 = listfirst.IndexOf(value); if (index1 == -1) { index1 = 0; } - value = (this.Lightconfigure.transitionTime % 60).ToString().PadLeft(2, '0') + strSecond; + value = (this.pirConfigure.transitionTime % 60).ToString().PadLeft(2, '0') + strSecond; int index2 = listSecond[index1].IndexOf(value); if (index2 == -1) { @@ -366,7 +496,8 @@ int second = Convert.ToInt32(listSecond[value1][value2].Substring(0, 2)); int delaySecond = minute * 60 + second; //鏇存敼鏁板�� - this.Lightconfigure.transitionTime = delaySecond; + this.pirConfigure.transitionTime = delaySecond; + this.isDataChanged = true; }, index1, index2, Language.StringByID(R.MyInternationalizationString.uDelayed), @@ -383,8 +514,7 @@ /// </summary> private async void SavePirSensorData() { - if (listOldData[0] == Lightconfigure.levelSize && listOldData[1] == Lightconfigure.transitionTime - && listSaveDevice == null) + if (this.isDataChanged == false) { HdlThreadLogic.Current.RunMain(() => { @@ -437,16 +567,13 @@ } } } - if (listOldData[0] != Lightconfigure.levelSize || listOldData[1] != Lightconfigure.transitionTime) + //淇濆瓨pir閰嶇疆淇℃伅 + var result = await HdlDevicePirSensorLogic.Current.SetPirSensorSettion(this.deviceIASZone, this.pirConfigure); + if (result == false) { - //淇濆瓨鐏厜閰嶇疆 - var result = await HdlDevicePirSensorLogic.Current.SetPirSensorSettion(this.deviceIASZone, this.Lightconfigure); - if (result == false) - { - //鍏抽棴杩涘害鏉� - this.CloseProgressBar(); - return; - } + //鍏抽棴杩涘害鏉� + this.CloseProgressBar(); + return; } //鍏抽棴杩涘害鏉� this.CloseProgressBar(); -- Gitblit v1.8.0