From b800fbdf874cdc75ddc137ea2c22ac2c25d8b45c Mon Sep 17 00:00:00 2001
From: gxc <guoxuecheng@guoxuechengdeMacBook-Pro.local>
Date: 星期二, 26 十一月 2019 10:10:37 +0800
Subject: [PATCH] 2019.11.26

---
 ZigbeeApp/Shared/Phone/Device/AC/ACControl.cs |   99 +++++++++++++++++++++++++++----------------------
 1 files changed, 54 insertions(+), 45 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/Device/AC/ACControl.cs b/ZigbeeApp/Shared/Phone/Device/AC/ACControl.cs
index 394f0c2..a2299cc 100644
--- a/ZigbeeApp/Shared/Phone/Device/AC/ACControl.cs
+++ b/ZigbeeApp/Shared/Phone/Device/AC/ACControl.cs
@@ -112,6 +112,10 @@
         /// mArcScaleSeekBar
         /// </summary>
         private ArcScaleSeekBar mArcScaleSeekBar = new ArcScaleSeekBar { };
+        /// <summary>
+        /// 娓呮磥鐘舵��
+        /// </summary>
+        private LeftIconButtonRow cleanStatu;
 
         #endregion
 
@@ -230,6 +234,22 @@
                                         FanSwingModeBtn.IsSelected = true;
                                     }
                                     break;
+
+                                case 4097:
+                                    //杩囪檻缃戞竻娲楁爣蹇�:42
+                                    ac.CleanStatu = attriButeList[0].AttriButeData == 42;
+                                    cleanStatu.Visible = ac.CleanStatu;
+                                    break;
+
+                                case 4099:
+                                    var value = Convert.ToString(attriButeList[0].AttriButeData, 2).PadLeft(16, '0');
+                                    var modeStr = value.Substring(value.Length - 5, 5);
+                                    for (int j = 0; j < modeStr.Length; j++)
+                                    {
+                                        ac.listSupportMode[j] = Convert.ToInt32(modeStr[j]) == 49 ? 1 : 0;
+                                    }
+                                    break;
+
                             }
                         }
 
@@ -389,6 +409,8 @@
                     ac.ReadFanMode();
                     ac.ReadSystemMode();
                     ac.ReadSystemFansSwingMode();
+                    ac.ReadModeSupport();
+                    ac.ReadCleanStatu();
                 });
             }
             else
@@ -404,6 +426,8 @@
                     ac.ReadFanMode();
                     ac.ReadSystemMode();
                     ac.ReadSystemFansSwingMode();
+                    ac.ReadModeSupport();
+                    ac.ReadCleanStatu();
                 }
             }
 
@@ -417,9 +441,7 @@
                 collectionBtn.IsSelected = true;
             }
 
-
             BindEvent();
-
         }
 
         #endregion
@@ -439,7 +461,6 @@
                 RemoveFromParent();
             };
 
-
             var moreBtn = new Button
             {
                 X = Application.GetRealWidth(953),
@@ -451,7 +472,6 @@
             top.topView.AddChidren(moreBtn);
 
             moreBtn.MouseUpEventHandler += More;
-
         }
         /// <summary>
         /// AddBodyView
@@ -476,6 +496,11 @@
                 BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor
             };
             bodyFrameLayout.AddChidren(itemView);
+
+            cleanStatu = new LeftIconButtonRow(400, 80, 0, 20);
+            itemView.AddChidren(cleanStatu);
+            cleanStatu.Init("AC/AC_TIP.png", "AC/AC_TIP.png", Language.StringByID(R.MyInternationalizationString.NeedCleanAC), false);
+            cleanStatu.Visible = false;
 
             collectionBtn = new Button()
             {
@@ -524,19 +549,16 @@
             itemView.AddChidren(mArcScaleSeekBar);
             mArcScaleSeekBar.OnStopTrackingTouchEvent += (sender, e) =>
             {
-                //cool  //dry
                 if (ac.currentSystemMode == 3 || ac.currentSystemMode == 8)
                 {
                     ac.currentCoolingSetpoint = e;
                     ac.SetCoolingTemperatureAsync(ac.currentCoolingSetpoint * 100);
                 }
-                //heat
                 else if (ac.currentSystemMode == 4)
                 {
                     ac.currentHeatingSetpoint = e;
                     ac.SetHeatingTemperatureAsync(ac.currentHeatingSetpoint * 100);
                 }
-                //auto
                 else if (ac.currentSystemMode == 1)
                 {
                     ac.currentAutoSetpoint = e;
@@ -544,7 +566,6 @@
                 }
             };
 
-            //褰撳墠妯″紡
             currentModeBtn = new Button()
             {
                 Y = Application.GetRealHeight(599),
@@ -555,7 +576,7 @@
                 Text = ACControlBase.GetModeNameByModeId(ac.currentSystemMode)
             };
             itemView.AddChidren(currentModeBtn);
-            //闄嶄綆娓╁害
+            
             reduceTemperatureBtn = new Button()
             {
                 X = Application.GetRealWidth(268),
@@ -566,7 +587,6 @@
             };
             itemView.AddChidren(reduceTemperatureBtn);
 
-            //娣诲姞娓╁害
             addTemperatureBtn = new Button()
             {
                 X = Application.GetRealWidth(628),
@@ -577,7 +597,6 @@
             };
             itemView.AddChidren(addTemperatureBtn);
 
-            //鎵
             FanSwingModeBtn = new Button()
             {
                 X = Application.GetRealWidth(156),
@@ -590,7 +609,6 @@
             };
             itemView.AddChidren(FanSwingModeBtn);
 
-            //妯″紡
             modeBtn = new Button()
             {
                 X = Application.GetRealWidth(346),
@@ -603,7 +621,6 @@
             };
             itemView.AddChidren(modeBtn);
 
-            //寮�鍏�
             switchBtn = new Button()
             {
                 X = Application.GetRealWidth(536),
@@ -616,7 +633,6 @@
             };
             itemView.AddChidren(switchBtn);
 
-            //椋庨��
             fanModeBtn = new Button()
             {
                 X = Application.GetRealWidth(729),
@@ -905,13 +921,13 @@
             };
             closeBGview.AddChidren(changeModeBG);
 
-            var changeModeFL = new FrameLayout()
+            var changeModeFL = new VerticalScrolViewLayout()
             {
                 X = Application.GetRealWidth(230),
                 Y = Application.GetRealHeight(450),
                 Height = Application.GetRealHeight(900),
                 Width = Application.GetRealWidth(modeItem_Width),
-                Radius = CommonPage.BigFormRadius,
+                Radius = CommonFormResouce.BigFormRadius,
                 BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor,
                 //BackgroundIagePath="AC/SelectedModeBG.png"
             };
@@ -935,7 +951,10 @@
                 Height = Application.GetRealHeight(modeItem_Height),
                 Tag = ZigBee.Device.AC.AcMode.Auto
             };
-            changeModeFL.AddChidren(mode_Auto);
+            if (ac.listSupportMode[4] == 1)
+            {
+                changeModeFL.AddChidren(mode_Auto);
+            }
             mode_Auto.Init("AC/Mode_Auto.png", "AC/Mode_AutoSelected.png", Language.StringByID(R.MyInternationalizationString.Mode_Auto));
 
             var mode_Cool = new CommonForm.ACLeftIconButtonRowLayout()
@@ -945,7 +964,10 @@
                 Height = Application.GetRealHeight(modeItem_Height),
                 Tag = ZigBee.Device.AC.AcMode.Cool
             };
-            changeModeFL.AddChidren(mode_Cool);
+            if (ac.listSupportMode[0] == 1)
+            {
+                changeModeFL.AddChidren(mode_Cool);
+            }
             mode_Cool.Init("AC/Mode_Cool.png", "AC/Mode_CoolSelected.png", Language.StringByID(R.MyInternationalizationString.Mode_Cool));
 
             var mode_Heat = new CommonForm.ACLeftIconButtonRowLayout()
@@ -955,7 +977,10 @@
                 Height = Application.GetRealHeight(modeItem_Height),
                 Tag = ZigBee.Device.AC.AcMode.Heat
             };
-            changeModeFL.AddChidren(mode_Heat);
+            if (ac.listSupportMode[1] == 1)
+            {
+                changeModeFL.AddChidren(mode_Heat);
+            }
             mode_Heat.Init("AC/Mode_Heat.png", "AC/Mode_HeatSelected.png", Language.StringByID(R.MyInternationalizationString.Mode_Heat));
 
             var mode_Dry = new CommonForm.ACLeftIconButtonRowLayout()
@@ -965,7 +990,10 @@
                 Height = Application.GetRealHeight(modeItem_Height),
                 Tag = ZigBee.Device.AC.AcMode.Dry
             };
-            changeModeFL.AddChidren(mode_Dry);
+            if (ac.listSupportMode[3] == 1)
+            {
+                changeModeFL.AddChidren(mode_Dry);
+            }
             mode_Dry.Init("AC/Mode_Dry.png", "AC/Mode_DrySelected.png", Language.StringByID(R.MyInternationalizationString.Mode_Dry));
 
             var mode_Fan = new CommonForm.ACLeftIconButtonRowLayout()
@@ -975,8 +1003,12 @@
                 Height = Application.GetRealHeight(modeItem_Height),
                 Tag = ZigBee.Device.AC.AcMode.FanOnly
             };
-            changeModeFL.AddChidren(mode_Fan);
+            if (ac.listSupportMode[2] == 1)
+            {
+                changeModeFL.AddChidren(mode_Fan);
+            }
             mode_Fan.Init("AC/Mode_Fan.png", "AC/Mode_FanSelected.png", Language.StringByID(R.MyInternationalizationString.Mode_FanOnly), false);
+
 
             mode_Auto.TitleButton.MouseUpEventHandler += ChangeMode_MouseUpEvent;
             mode_Auto.IconButton.MouseUpEventHandler += ChangeMode_MouseUpEvent;
@@ -1071,13 +1103,11 @@
             ac.currentSystemMode = (int)acMode;
             mArcScaleSeekBar.Progress = ACControlBase.GetCurrentModeTemperature(ac);
             ac.SetSystemModeAsync(acMode);
-
-
         }
 
         #endregion
 
-        #region 鈼� 鍒囨崲鎵___________________________
+        #region 鈼� 鍒囨崲鎵______________________
 
 
         /// <summary>
@@ -1270,7 +1300,6 @@
                 mode = ZigBee.Device.AC.FanSwingMode.Fifth;
             }
 
-
             ChangeFanSwing(mode);
         }
 
@@ -1310,7 +1339,6 @@
                 ACControlBase.ShowACIsCloseTip();
                 return;
             }
-            //cool  //dry
             if (ac.currentSystemMode == 3 || ac.currentSystemMode == 8)
             {
                 if (ac.currentCoolingSetpoint >= ACControlBase.Temperature_High)
@@ -1319,10 +1347,8 @@
                 }
                 ac.currentCoolingSetpoint += 1;
                 ac.SetCoolingTemperatureAsync(ac.currentCoolingSetpoint * 100);
-                //currentTemperatureBtn.Text = $"{ac.currentCoolingSetpoint} 掳C";
                 mArcScaleSeekBar.Progress = ac.currentCoolingSetpoint;
             }
-            //heat
             else if (ac.currentSystemMode == 4)
             {
                 if (ac.currentHeatingSetpoint >= ACControlBase.Temperature_High)
@@ -1331,10 +1357,8 @@
                 }
                 ac.currentHeatingSetpoint += 1;
                 ac.SetHeatingTemperatureAsync(ac.currentHeatingSetpoint * 100);
-                //currentTemperatureBtn.Text = $"{ac.currentHeatingSetpoint} 掳C";
                 mArcScaleSeekBar.Progress = ac.currentHeatingSetpoint;
             }
-            //auto
             else if (ac.currentSystemMode == 1)
             {
                 if (ac.currentAutoSetpoint >= ACControlBase.Temperature_High)
@@ -1343,10 +1367,8 @@
                 }
                 ac.currentAutoSetpoint += 1;
                 ac.SetAutoTemperatureAsync(ac.currentAutoSetpoint * 100);
-                //currentTemperatureBtn.Text = $"{ac.currentAutoSetpoint} 掳C";
                 mArcScaleSeekBar.Progress = ac.currentAutoSetpoint;
             }
-
         }
 
         #endregion
@@ -1365,7 +1387,6 @@
                 ACControlBase.ShowACIsCloseTip();
                 return;
             }
-            //cool //dry
             if (ac.currentSystemMode == 3 || ac.currentSystemMode == 8)
             {
                 if (ac.currentCoolingSetpoint <= ACControlBase.Temperature_Low)
@@ -1374,11 +1395,8 @@
                 }
                 ac.currentCoolingSetpoint -= 1;
                 ac.SetCoolingTemperatureAsync(ac.currentCoolingSetpoint * 100);
-
-                //currentTemperatureBtn.Text = $"{ac.currentCoolingSetpoint} 掳C";
                 mArcScaleSeekBar.Progress = ac.currentCoolingSetpoint;
             }
-            //heat
             else if (ac.currentSystemMode == 4)
             {
                 if (ac.currentHeatingSetpoint <= ACControlBase.Temperature_Low)
@@ -1387,11 +1405,8 @@
                 }
                 ac.currentHeatingSetpoint -= 1;
                 ac.SetHeatingTemperatureAsync(ac.currentHeatingSetpoint * 100);
-
-                //currentTemperatureBtn.Text = $"{ac.currentHeatingSetpoint} 掳C";
                 mArcScaleSeekBar.Progress = ac.currentHeatingSetpoint;
             }
-            //auto
             else if (ac.currentSystemMode == 1)
             {
                 if (ac.currentAutoSetpoint <= ACControlBase.Temperature_Low)
@@ -1400,11 +1415,8 @@
                 }
                 ac.currentAutoSetpoint -= 1;
                 ac.SetAutoTemperatureAsync(ac.currentAutoSetpoint * 100);
-
-                //currentTemperatureBtn.Text = $"{ac.currentAutoSetpoint} 掳C";
                 mArcScaleSeekBar.Progress = ac.currentAutoSetpoint;
             }
-
         }
 
         #endregion
@@ -1441,7 +1453,6 @@
         /// </summary>
         private void RemoveUpdateControlDeviceStatuAction()
         {
-            //绉婚櫎action
             if (zbGateway != null)
             {
                 zbGateway.ReportAction -= UpdateDeviceControllStatu;
@@ -1480,7 +1491,6 @@
         /// <param name="e">E.</param>
         private void Collection(object sender, MouseEventArgs e)
         {
-            //collection
             if (collectionBtn.IsSelected)
             {
                 Shared.Common.Room.Lists[0].DeleteDevice(device.FileName);
@@ -1505,7 +1515,6 @@
         private void BackToRoomHandler(object sender, MouseEventArgs mouseEventArgs)
         {
             //backToRoom
-
         }
 
         #endregion

--
Gitblit v1.8.0