From 944b87b6bcccb095cd73f13f4410fb20faf48f74 Mon Sep 17 00:00:00 2001
From: gxc <guoxuecheng@guoxuechengdeMacBook-Pro.local>
Date: 星期三, 25 十二月 2019 11:21:06 +0800
Subject: [PATCH] 2019.12.25

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

diff --git a/ZigbeeApp/Shared/Phone/Device/AC/ACControl.cs b/ZigbeeApp/Shared/Phone/Device/AC/ACControl.cs
old mode 100755
new mode 100644
index 63e9498..0ba99c3
--- a/ZigbeeApp/Shared/Phone/Device/AC/ACControl.cs
+++ b/ZigbeeApp/Shared/Phone/Device/AC/ACControl.cs
@@ -3,6 +3,7 @@
 using ZigBee.Device;
 using Shared.Phone.Device.CommonForm;
 using Shared.Phone.UserView;
+using Shared.Phone.Device.DeviceLogic;
 
 namespace Shared.Phone.Device.AC
 {
@@ -72,10 +73,6 @@
         /// </summary>
         private Button currentModeBtn;
         /// <summary>
-        /// 褰撳墠娓╁害
-        /// </summary>
-        private Button currentTemperatureBtn;
-        /// <summary>
         /// 娣诲姞娓╁害
         /// </summary>
         private Button addTemperatureBtn;
@@ -112,6 +109,19 @@
         /// 浼犺繃鏉ョ殑ac
         /// </summary>
         private ZigBee.Device.AC ac;
+        /// <summary>
+        /// mArcScaleSeekBar
+        /// </summary>
+        private ArcScaleSeekBar mArcScaleSeekBar = new ArcScaleSeekBar { };
+        /// <summary>
+        /// 娓呮磥鐘舵��
+        /// </summary>
+        private LeftIconButtonRow cleanStatu;
+
+        /// <summary>
+        /// IsDrawerLockMode
+        /// </summary>
+        public bool IsDrawerLockMode;
         #endregion
 
         #region 鈼� 鎺ュ彛___________________________
@@ -160,103 +170,110 @@
                                 return;
                             }
                             deviceUI.CommonDevice.DeviceStatusReport = common.DeviceStatusReport;
-                            var curTemp = (attriButeList[0].AttriButeData / 100 < ACControlBase.Temperature_High || attriButeList[0].AttriButeData / 100 > ACControlBase.Temperature_Low) ? attriButeList[0].AttriButeData / 100 : ACControlBase.Temperature_Default;
-                            switch (attriButeList[0].AttributeId)
+                            foreach(var attList in attriButeList)
                             {
-                                case 0:
-                                    ac.currentLocalTemperature = curTemp;
-                                    ac.LastDateTime = DateTime.Now;
-                                    indoorTemperatureBtn.Text = $"{Language.StringByID(R.MyInternationalizationString.Current)} {ac.currentLocalTemperature} 鈩�";
-                                    //currentTemperatureBtn.Text = $"{ac.currentLocalTemperature} 鈩�";
-                                    break;
-
-                                case 17:
-                                    ac.currentCoolingSetpoint = curTemp;
-                                    if (ac.currentSystemMode == 3 || ac.currentSystemMode == 8)
-                                    {
-                                        currentTemperatureBtn.Text = $"{ac.currentCoolingSetpoint} 鈩�";
-                                    }
-
-                                    ac.LastDateTime = DateTime.Now;
-                                    break;
-
-                                case 18:
-                                    ac.currentHeatingSetpoint = curTemp;
-                                    if (ac.currentSystemMode == 4)
-                                    {
-                                        currentTemperatureBtn.Text = $"{ac.currentHeatingSetpoint} 鈩�";
-                                    }
-                                    ac.LastDateTime = DateTime.Now;
-                                    break;
-
-                                case 4096:
-                                    ac.currentAutoSetpoint = curTemp;
-                                    if (ac.currentSystemMode == 1)
-                                    {
-                                        currentTemperatureBtn.Text = $"{ac.currentAutoSetpoint} 鈩�";
-                                    }
-                                    ac.LastDateTime = DateTime.Now;
-                                    break;
-
-                                case 28:
-                                    //姝ゅ睘鎬ф弿杩版亽娓╄澶囨澶勪簬鍝妯″紡
-                                    //Off = 0  Auto = 1 Cool = 3 Heat = 4 FanOnly = 7  Dry = 8
-                                    ac.currentSystemMode = attriButeList[0].AttriButeData;
-                                    ac.LastDateTime = DateTime.Now;
-                                    if (ac.currentSystemMode == 0)
-                                    {
-                                        switchBtn.IsSelected = false;
-                                        modeBtn.IsSelected = false;
+                                var curTemp = (attList.AttriButeData / 100 < ACControlBase.Temperature_High && attList.AttriButeData / 100 > ACControlBase.Temperature_Low) ? attList.AttriButeData / 100 : ACControlBase.Temperature_Default;
+                                switch (attList.AttributeId)
+                                {
+                                    case 0:
+                                        ac.currentLocalTemperature = curTemp;
+                                        ac.LastDateTime = DateTime.Now;
+                                        indoorTemperatureBtn.Text = $"{Language.StringByID(R.MyInternationalizationString.Current)} {ac.currentLocalTemperature} 鈩�";
+                                        //currentTemperatureBtn.Text = $"{ac.currentLocalTemperature} 鈩�";
+                                        break;
+                                    case 17:
+                                        ac.currentCoolingSetpoint = curTemp;
+                                        if (ac.currentSystemMode == 3 || ac.currentSystemMode == 8)
+                                        {
+                                            mArcScaleSeekBar.Progress = ac.currentCoolingSetpoint;
+                                        }
+                                        ac.LastDateTime = DateTime.Now;
+                                        break;
+                                    case 18:
+                                        ac.currentHeatingSetpoint = curTemp;
+                                        if (ac.currentSystemMode == 4)
+                                        {
+                                            mArcScaleSeekBar.Progress = ac.currentHeatingSetpoint;
+                                        }
+                                        ac.LastDateTime = DateTime.Now;
+                                        break;
+                                    case 4096:
+                                        ac.currentAutoSetpoint = curTemp;
+                                        if (ac.currentSystemMode == 1)
+                                        {
+                                            mArcScaleSeekBar.Progress = ac.currentAutoSetpoint;
+                                        }
+                                        ac.LastDateTime = DateTime.Now;
+                                        break;
+                                    case 28:
+                                        //姝ゅ睘鎬ф弿杩版亽娓╄澶囨澶勪簬鍝妯″紡
+                                        //Off = 0  Auto = 1 Cool = 3 Heat = 4 FanOnly = 7  Dry = 8
+                                        ac.currentSystemMode = attList.AttriButeData;
+                                        ac.LastDateTime = DateTime.Now;
+                                        if (ac.currentSystemMode == 0)
+                                        {
+                                            switchBtn.IsSelected = false;
+                                            modeBtn.IsSelected = false;
+                                            fanModeBtn.IsSelected = false;
+                                            FanSwingModeBtn.IsSelected = false;
+                                            mArcScaleSeekBar.SetProgressBarColors(ZigbeeColor.Current.GXCWaveSeekBarUnSelectedColor, ZigbeeColor.Current.GXCWaveSeekBarUnSelectedColor);
+                                        }
+                                        else if (ac.currentSystemMode == 1 || ac.currentSystemMode == 3 || ac.currentSystemMode == 4 || ac.currentSystemMode == 7 || ac.currentSystemMode == 8)
+                                        {
+                                            switchBtn.IsSelected = true;
+                                            modeBtn.IsSelected = true;
+                                            fanModeBtn.IsSelected = true;
+                                            FanSwingModeBtn.IsSelected = true;
+                                            mArcScaleSeekBar.SetProgressBarColors(ZigbeeColor.Current.GXCArcScaleSeekBarStartColor, ZigbeeColor.Current.GXCArcScaleSeekBarEndColor);
+                                        }
                                         modeBtn.SelectedImagePath = ACControlBase.GetModeSelectedImagePathByModeId(ac.currentSystemMode);
                                         modeBtn.UnSelectedImagePath = ACControlBase.GetModeUnSelectedImagePathByModeId(ac.currentSystemMode);
                                         currentModeBtn.Text = ACControlBase.GetModeNameByModeId(ac.currentSystemMode);
-                                        currentTemperatureBtn.Text = $"{ACControlBase.GetCurrentModeTemperature(ac)} 鈩�";
-
-                                        fanModeBtn.IsSelected = false;
-                                        FanSwingModeBtn.IsSelected = false;
-                                    }
-                                    else if (ac.currentSystemMode == 1 || ac.currentSystemMode == 3 || ac.currentSystemMode == 4 || ac.currentSystemMode == 7 || ac.currentSystemMode == 8)
-                                    {
-                                        switchBtn.IsSelected = true;
-                                        modeBtn.IsSelected = true;
-                                        modeBtn.SelectedImagePath = ACControlBase.GetModeSelectedImagePathByModeId(ac.currentSystemMode);
-                                        modeBtn.UnSelectedImagePath = ACControlBase.GetModeUnSelectedImagePathByModeId(ac.currentSystemMode);
-                                        currentModeBtn.Text = ACControlBase.GetModeNameByModeId(ac.currentSystemMode);
-                                        currentTemperatureBtn.Text = $"{ACControlBase.GetCurrentModeTemperature(ac)} 鈩�";
-
-                                        fanModeBtn.IsSelected = true;
-                                        FanSwingModeBtn.IsSelected = true;
-                                    }
-                                    break;
+                                        mArcScaleSeekBar.Progress = ACControlBase.GetCurrentModeTemperature(ac);
+                                        mArcScaleSeekBar.IsClickable = ACControlBase.IsOpen(ac);
+                                        break;
+                                    case 4097:
+                                        //杩囪檻缃戞竻娲楁爣蹇�:42
+                                        ac.CleanStatu = attList.AttriButeData == 42;
+                                        cleanStatu.Visible = ac.CleanStatu;
+                                        break;
+                                    case 4099:
+                                        var value = Convert.ToString(attList.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;
+                                }
                             }
                         }
 
                         if (common.DeviceStatusReport.CluterID == 514)
                         {
                             var attriButeList = common.DeviceStatusReport.AttriBute;
-                            if (attriButeList == null || attriButeList.Count == 0)
-                            {
-                                return;
-                            }
                             ac.DeviceStatusReport = common.DeviceStatusReport;
-                            switch (attriButeList[0].AttributeId)
+                            foreach(var attList in attriButeList)
                             {
-                                case 0:
-                                    //椋庢墖褰撳墠鐨勫伐浣滄ā寮� 1=Low 2=Medium 3=High
-                                    ac.currentFanMode = attriButeList[0].AttriButeData;
-                                    ac.LastDateTime = DateTime.Now;
-                                    fanModeBtn.IsSelected = true;
-                                    fanModeBtn.SelectedImagePath = ACControlBase.GetFanModeSelectedImagePathByFanModeId(ac.currentFanMode);
-                                    fanModeBtn.UnSelectedImagePath = ACControlBase.GetFanModeUnSelectedImagePathByFanModeId(ac.currentFanMode);
-                                    break;
-                                case 4096:
-                                    //椋庢墖褰撳墠鐨勬壂椋庢ā寮� 
-                                    ac.currentFanSwingMode = attriButeList[0].AttriButeData;
-                                    ac.LastDateTime = DateTime.Now;
-                                    FanSwingModeBtn.IsSelected = true;
-                                    FanSwingModeBtn.SelectedImagePath = ACControlBase.GetFanSwingModeSelectedImagePathByFanSwingModeId(ac.currentFanSwingMode);
-                                    FanSwingModeBtn.UnSelectedImagePath = ACControlBase.GetFanSwingModeUnSelectedImagePathByFanSwingModeId(ac.currentFanSwingMode);
-                                    break;
+                                switch (attList.AttributeId)
+                                {
+                                    case 0:
+                                        //椋庢墖褰撳墠鐨勫伐浣滄ā寮� 1=Low 2=Medium 3=High
+                                        ac.currentFanMode = attList.AttriButeData;
+                                        ac.LastDateTime = DateTime.Now;
+                                        fanModeBtn.IsSelected = true;
+                                        fanModeBtn.SelectedImagePath = ACControlBase.GetFanModeSelectedImagePathByFanModeId(ac.currentFanMode);
+                                        fanModeBtn.UnSelectedImagePath = ACControlBase.GetFanModeUnSelectedImagePathByFanModeId(ac.currentFanMode);
+                                        break;
+                                    case 4096:
+                                        //椋庢墖褰撳墠鐨勬壂椋庢ā寮�
+                                        ac.currentFanSwingMode = attList.AttriButeData;
+                                        ac.LastDateTime = DateTime.Now;
+                                        FanSwingModeBtn.IsSelected = true;
+                                        FanSwingModeBtn.SelectedImagePath = ACControlBase.GetFanSwingModeSelectedImagePathByFanSwingModeId(ac.currentFanSwingMode);
+                                        FanSwingModeBtn.UnSelectedImagePath = ACControlBase.GetFanSwingModeUnSelectedImagePathByFanSwingModeId(ac.currentFanSwingMode);
+                                        break;
+                                }
                             }
                         }
                         //***鏂版敼 * **璁惧鐘舵�佷笂鎶ヤ腑锛屽綋CluterID = 3,璇佹槑璁惧鍦ㄧ嚎锛岀洿鎺ユ爣璁�
@@ -331,6 +348,8 @@
         {
             BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor;
             ZigBee.Device.ZbGateway.StatusList.Add(this);
+            HomePage.Instance.ScrollEnabled = false;
+
         }
 
         #endregion
@@ -346,6 +365,11 @@
             //action();
             //action = null;
             RemoveUpdateControlDeviceStatuAction();
+            HomePage.Instance.ScrollEnabled = true;
+            if (IsDrawerLockMode)
+            {
+                CommonPage.Instance.IsDrawerLockMode = false;
+            }
             base.RemoveFromParent();
         }
 
@@ -377,14 +401,7 @@
                 //鍙戦�佽鍙栫姸鎬佸懡浠�
                 UserView.UserHomeView.ReadStatus(ac, () =>
                 {
-                    ac.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch);
-                    ac.ReadLocalTemperature();
-                    ac.ReadCoolingSetpoint();
-                    ac.ReadHeatingSetpoint();
-                    ac.ReadAutoSetpoint();
-                    ac.ReadFanMode();
-                    ac.ReadSystemMode();
-                    ac.ReadSystemFansSwingMode();
+                    ReadDeviceAttributeLogic.Instance.SendACStatuComand(device.CommonDevice);
                 });
             }
             else
@@ -392,14 +409,7 @@
                 //闃叉鐭椂闂村唴澶氭璇诲彇璁惧鐘舵��
                 if ((DateTime.Now - ac.LastDateTime).TotalSeconds > CommonPage.ReadDeviceStatuSpan)
                 {
-                    ac.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch);
-                    ac.ReadLocalTemperature();
-                    ac.ReadCoolingSetpoint();
-                    ac.ReadHeatingSetpoint();
-                    ac.ReadAutoSetpoint();
-                    ac.ReadFanMode();
-                    ac.ReadSystemMode();
-                    ac.ReadSystemFansSwingMode();
+                    ReadDeviceAttributeLogic.Instance.SendACStatuComand(device.CommonDevice);
                 }
             }
 
@@ -413,9 +423,7 @@
                 collectionBtn.IsSelected = true;
             }
 
-
             BindEvent();
-
         }
 
         #endregion
@@ -435,16 +443,6 @@
                 RemoveFromParent();
             };
 
-            var sharedBtn = new Button
-            {
-                X = Application.GetRealWidth(850),
-                Width = Application.GetMinReal(69),
-                Height = Application.GetMinReal(69),
-                Gravity = Gravity.CenterVertical,
-                UnSelectedImagePath = "Item/Shared.png"
-            };
-            top.topView.AddChidren(sharedBtn);
-
             var moreBtn = new Button
             {
                 X = Application.GetRealWidth(953),
@@ -456,7 +454,6 @@
             top.topView.AddChidren(moreBtn);
 
             moreBtn.MouseUpEventHandler += More;
-
         }
         /// <summary>
         /// AddBodyView
@@ -482,6 +479,11 @@
             };
             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()
             {
                 X = Application.GetRealWidth(850),
@@ -496,7 +498,7 @@
             var deviceNameBtn = new Button()
             {
                 Y = Application.GetRealHeight(184),
-                Width = Application.GetRealWidth(500),
+                Width = Application.GetRealWidth(600),
                 Height = Application.GetRealHeight(60),
                 Gravity = Gravity.CenterHorizontal,
                 Text = device.CommonDevice.DeviceEpointName,
@@ -516,74 +518,76 @@
             };
             itemView.AddChidren(indoorTemperatureBtn);
 
-
-            var controlBG = new FrameLayout()
+            mArcScaleSeekBar = new ArcScaleSeekBar
             {
                 Y = Application.GetRealHeight(412),
-                Height = Application.GetMinRealAverage(547),
-                Width = Application.GetMinRealAverage(671),
+                Width = Application.GetRealWidth(671),
+                Height = Application.GetRealHeight(671),
                 Gravity = Gravity.CenterHorizontal,
-                BackgroundImagePath = "AC/Group.png"
+                MinValue = ACControlBase.Temperature_Low,
+                MaxValue = ACControlBase.Temperature_High,
+                Progress = ACControlBase.GetCurrentModeTemperature(ac),
+                IsClickable = ACControlBase.IsOpen(ac)
             };
-            itemView.AddChidren(controlBG);
-
-            var controlBG2 = new Button()
+            itemView.AddChidren(mArcScaleSeekBar);
+            if(ACControlBase.IsOpen(ac))
             {
-                Y = Application.GetRealHeight(873),
-                Height = Application.GetMinRealAverage(121),
-                Width = Application.GetMinRealAverage(351),
-                UnSelectedImagePath = "AC/Path.png",
-                Gravity = Gravity.CenterHorizontal
+                mArcScaleSeekBar.SetProgressBarColors(ZigbeeColor.Current.GXCArcScaleSeekBarStartColor, ZigbeeColor.Current.GXCArcScaleSeekBarEndColor);
+            }
+            else
+            {
+                mArcScaleSeekBar.SetProgressBarColors(ZigbeeColor.Current.GXCWaveSeekBarUnSelectedColor, ZigbeeColor.Current.GXCWaveSeekBarUnSelectedColor);
+            }
+            mArcScaleSeekBar.OnStopTrackingTouchEvent += (sender, e) =>
+            {
+                if (ac.currentSystemMode == 3 || ac.currentSystemMode == 8)
+                {
+                    ac.currentCoolingSetpoint = e;
+                    ac.SetCoolingTemperatureAsync(ac.currentCoolingSetpoint * 100);
+                }
+                else if (ac.currentSystemMode == 4)
+                {
+                    ac.currentHeatingSetpoint = e;
+                    ac.SetHeatingTemperatureAsync(ac.currentHeatingSetpoint * 100);
+                }
+                else if (ac.currentSystemMode == 1)
+                {
+                    ac.currentAutoSetpoint = e;
+                    ac.SetAutoTemperatureAsync(ac.currentAutoSetpoint * 100);
+                }
             };
-            itemView.AddChidren(controlBG2);
-            //褰撳墠妯″紡
+
             currentModeBtn = new Button()
             {
-                Y = Application.GetRealHeight(187),
+                Y = Application.GetRealHeight(565),
                 Height = Application.GetRealHeight(80),
                 Width = Application.GetRealWidth(200),
                 TextColor = ZigbeeColor.Current.GXCTextBlackColor,
                 Gravity = Gravity.CenterHorizontal,
                 Text = ACControlBase.GetModeNameByModeId(ac.currentSystemMode)
             };
-            controlBG.AddChidren(currentModeBtn);
-            //闄嶄綆娓╁害
+            itemView.AddChidren(currentModeBtn);
+
             reduceTemperatureBtn = new Button()
             {
-                X = Application.GetRealWidth(112),
-                Y = Application.GetRealHeight(268),
+                X = Application.GetRealWidth(268),
+                Y = Application.GetRealHeight(650),
                 Width = Application.GetMinRealAverage(80),
                 Height = Application.GetMinRealAverage(80),
                 UnSelectedImagePath = "AC/Reduce.png"
             };
-            controlBG.AddChidren(reduceTemperatureBtn);
+            itemView.AddChidren(reduceTemperatureBtn);
 
-            //娓╁害
-            currentTemperatureBtn = new Button()
-            {
-                //X = Application.GetRealWidth(239),
-                Y = Application.GetRealHeight(248),
-                Width = Application.GetRealWidth(180),
-                Height = Application.GetRealHeight(100),
-                TextColor = ZigbeeColor.Current.GXCTextBlackColor,
-                TextSize = 15,
-                Text = $"{ACControlBase.GetCurrentModeTemperature(ac)} 掳C",
-                Gravity = Gravity.CenterHorizontal
-            };
-            controlBG.AddChidren(currentTemperatureBtn);
-
-            //娣诲姞娓╁害
             addTemperatureBtn = new Button()
             {
-                X = Application.GetRealWidth(472),
-                Y = Application.GetRealHeight(268),
+                X = Application.GetRealWidth(610),
+                Y = Application.GetRealHeight(650),
                 Width = Application.GetMinRealAverage(80),
                 Height = Application.GetMinRealAverage(80),
                 UnSelectedImagePath = "AC/Add.png"
             };
-            controlBG.AddChidren(addTemperatureBtn);
+            itemView.AddChidren(addTemperatureBtn);
 
-            //鎵
             FanSwingModeBtn = new Button()
             {
                 X = Application.GetRealWidth(156),
@@ -595,8 +599,7 @@
                 IsSelected = ACControlBase.IsOpen(ac)
             };
             itemView.AddChidren(FanSwingModeBtn);
-            
-            //妯″紡
+
             modeBtn = new Button()
             {
                 X = Application.GetRealWidth(346),
@@ -609,7 +612,6 @@
             };
             itemView.AddChidren(modeBtn);
 
-            //寮�鍏�
             switchBtn = new Button()
             {
                 X = Application.GetRealWidth(536),
@@ -622,7 +624,6 @@
             };
             itemView.AddChidren(switchBtn);
 
-            //椋庨��
             fanModeBtn = new Button()
             {
                 X = Application.GetRealWidth(729),
@@ -705,12 +706,14 @@
         private void Switch_MouseUpEvent(object sender, MouseEventArgs mouseEventArgs)
         {
             switchBtn.IsSelected = !switchBtn.IsSelected;
+            mArcScaleSeekBar.IsClickable = switchBtn.IsSelected;
             if (switchBtn.IsSelected == true)
             {
                 ac.Open();
                 modeBtn.IsSelected = true;
                 fanModeBtn.IsSelected = true;
                 FanSwingModeBtn.IsSelected = true;
+                mArcScaleSeekBar.SetProgressBarColors(ZigbeeColor.Current.GXCArcScaleSeekBarStartColor, ZigbeeColor.Current.GXCArcScaleSeekBarEndColor);
             }
             else
             {
@@ -718,6 +721,7 @@
                 modeBtn.IsSelected = false;
                 fanModeBtn.IsSelected = false;
                 FanSwingModeBtn.IsSelected = false;
+                mArcScaleSeekBar.SetProgressBarColors(ZigbeeColor.Current.GXCWaveSeekBarUnSelectedColor, ZigbeeColor.Current.GXCWaveSeekBarUnSelectedColor);
             }
         }
 
@@ -911,13 +915,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"
             };
@@ -929,7 +933,7 @@
                 Width = Application.GetRealWidth(modeItem_Width - modeItem_X),
                 Height = Application.GetRealHeight(modeItem_Height),
                 TextColor = ZigbeeColor.Current.GXCTextBlackColor,
-                TextID = R.MyInternationalizationString.SelectFanMode,
+                TextID = R.MyInternationalizationString.SelectMode,
                 TextAlignment = TextAlignment.CenterLeft
             };
             changeModeFL.AddChidren(changeModeBtn);
@@ -941,7 +945,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()
@@ -951,7 +958,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()
@@ -961,7 +971,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()
@@ -971,7 +984,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()
@@ -981,8 +997,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;
@@ -1075,15 +1095,13 @@
             modeBtn.UnSelectedImagePath = ACControlBase.GetModeUnSelectedImagePathByMode(acMode);
             currentModeBtn.Text = ACControlBase.GetModeNameByMode(acMode);
             ac.currentSystemMode = (int)acMode;
-            currentTemperatureBtn.Text = $"{ACControlBase.GetCurrentModeTemperature(ac)} 掳C";
+            mArcScaleSeekBar.Progress = ACControlBase.GetCurrentModeTemperature(ac);
             ac.SetSystemModeAsync(acMode);
-
-
         }
 
         #endregion
 
-        #region 鈼� 鍒囨崲鎵___________________________
+        #region 鈼� 鍒囨崲鎵______________________
 
 
         /// <summary>
@@ -1276,7 +1294,6 @@
                 mode = ZigBee.Device.AC.FanSwingMode.Fifth;
             }
 
-
             ChangeFanSwing(mode);
         }
 
@@ -1316,7 +1333,6 @@
                 ACControlBase.ShowACIsCloseTip();
                 return;
             }
-            //cool  //dry
             if (ac.currentSystemMode == 3 || ac.currentSystemMode == 8)
             {
                 if (ac.currentCoolingSetpoint >= ACControlBase.Temperature_High)
@@ -1325,9 +1341,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)
@@ -1336,9 +1351,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)
@@ -1347,10 +1361,8 @@
                 }
                 ac.currentAutoSetpoint += 1;
                 ac.SetAutoTemperatureAsync(ac.currentAutoSetpoint * 100);
-                currentTemperatureBtn.Text = $"{ac.currentAutoSetpoint} 掳C";
+                mArcScaleSeekBar.Progress = ac.currentAutoSetpoint;
             }
-
-
         }
 
         #endregion
@@ -1369,7 +1381,6 @@
                 ACControlBase.ShowACIsCloseTip();
                 return;
             }
-            //cool //dry
             if (ac.currentSystemMode == 3 || ac.currentSystemMode == 8)
             {
                 if (ac.currentCoolingSetpoint <= ACControlBase.Temperature_Low)
@@ -1378,10 +1389,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)
@@ -1390,10 +1399,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)
@@ -1402,15 +1409,11 @@
                 }
                 ac.currentAutoSetpoint -= 1;
                 ac.SetAutoTemperatureAsync(ac.currentAutoSetpoint * 100);
-
-                currentTemperatureBtn.Text = $"{ac.currentAutoSetpoint} 掳C";
+                mArcScaleSeekBar.Progress = ac.currentAutoSetpoint;
             }
-
         }
 
         #endregion
-
-       
 
         #region 鈼� 鎺у埗鍙嶉_________________________
 
@@ -1442,7 +1445,6 @@
         /// </summary>
         private void RemoveUpdateControlDeviceStatuAction()
         {
-            //绉婚櫎action
             if (zbGateway != null)
             {
                 zbGateway.ReportAction -= UpdateDeviceControllStatu;
@@ -1481,7 +1483,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);
@@ -1506,7 +1507,6 @@
         private void BackToRoomHandler(object sender, MouseEventArgs mouseEventArgs)
         {
             //backToRoom
-
         }
 
         #endregion

--
Gitblit v1.8.0