From 94e4e5b9fd3da964c44b7b14227d6fe2bbb426d7 Mon Sep 17 00:00:00 2001
From: WJC <wjc@hdlchina.com.cn>
Date: 星期四, 02 四月 2020 13:56:39 +0800
Subject: [PATCH] 2020-04-02-2

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

diff --git a/ZigbeeApp/Shared/Phone/Device/AC/ACControl.cs b/ZigbeeApp/Shared/Phone/Device/AC/ACControl.cs
index 385f525..04908bc 100755
--- a/ZigbeeApp/Shared/Phone/Device/AC/ACControl.cs
+++ b/ZigbeeApp/Shared/Phone/Device/AC/ACControl.cs
@@ -13,7 +13,7 @@
         /// <summary>
         /// The action.
         /// </summary>
-        public Action<DeviceUI, Common.Room> action;
+        public Action<CommonDevice, Common.Room> action;
 
         /// <summary>
         /// 鏀惰棌鎸夐挳
@@ -22,7 +22,7 @@
         /// <summary>
         /// 浼犺繃鏉ョ殑璁惧
         /// </summary>
-        private DeviceUI device;
+        private CommonDevice device;
         /// <summary>
         /// 浼犺繃鏉ョ殑鎴块棿
         /// </summary>
@@ -125,15 +125,7 @@
         #endregion
 
         #region 鈼� 鎺ュ彛___________________________
-        /// <summary>
-        /// 澶勭悊鍙樺寲浜嬩欢 --灏嗗純鐢� 鏀圭敤DeviceInfoChange()
-        /// </summary>
-        /// <returns>The changed.</returns>
-        /// <param name="common">Common.</param>
-        public void Changed(CommonDevice common)
-        {
 
-        }
         /// <summary>
         /// 璁惧鐘舵�佹洿鏂版帴鍙�
         /// <para>type锛氬鏋滀负 DeviceInComingRespon:璁惧鏂颁笂鎶�</para>
@@ -153,11 +145,11 @@
                     try
                     {
                         var deviceUI = device;
-                        if (deviceUI.CommonDevice == null)
+                        if (deviceUI == null)
                         {
                             return;
                         }
-                        if (deviceUI.CommonDevice.DeviceEpoint != common.DeviceEpoint || deviceUI.CommonDevice.DeviceAddr != common.DeviceAddr)
+                        if (deviceUI.DeviceEpoint != common.DeviceEpoint || deviceUI.DeviceAddr != common.DeviceAddr)
                         {
                             return;
                         }
@@ -169,20 +161,18 @@
                             {
                                 return;
                             }
-                            deviceUI.CommonDevice.DeviceStatusReport = common.DeviceStatusReport;
+                            deviceUI.DeviceStatusReport = common.DeviceStatusReport;
                             foreach(var attList in attriButeList)
                             {
-                                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.currentLocalTemperature = attList.AttriButeData / 100;
                                         ac.LastDateTime = DateTime.Now;
                                         indoorTemperatureBtn.Text = $"{Language.StringByID(R.MyInternationalizationString.Current)} {ac.currentLocalTemperature} 鈩�";
-                                        //currentTemperatureBtn.Text = $"{ac.currentLocalTemperature} 鈩�";
                                         break;
                                     case 17:
-                                        ac.currentCoolingSetpoint = curTemp;
+                                        ac.currentCoolingSetpoint = attList.AttriButeData / 100;
                                         if (ac.currentSystemMode == 3 || ac.currentSystemMode == 8)
                                         {
                                             mArcScaleSeekBar.Progress = ac.currentCoolingSetpoint;
@@ -190,7 +180,7 @@
                                         ac.LastDateTime = DateTime.Now;
                                         break;
                                     case 18:
-                                        ac.currentHeatingSetpoint = curTemp;
+                                        ac.currentHeatingSetpoint = attList.AttriButeData / 100;
                                         if (ac.currentSystemMode == 4)
                                         {
                                             mArcScaleSeekBar.Progress = ac.currentHeatingSetpoint;
@@ -198,7 +188,7 @@
                                         ac.LastDateTime = DateTime.Now;
                                         break;
                                     case 4096:
-                                        ac.currentAutoSetpoint = curTemp;
+                                        ac.currentAutoSetpoint = attList.AttriButeData / 100;
                                         if (ac.currentSystemMode == 1)
                                         {
                                             mArcScaleSeekBar.Progress = ac.currentAutoSetpoint;
@@ -217,6 +207,8 @@
                                             fanModeBtn.IsSelected = false;
                                             FanSwingModeBtn.IsSelected = false;
                                             mArcScaleSeekBar.SetProgressBarColors(ZigbeeColor.Current.GXCWaveSeekBarUnSelectedColor, ZigbeeColor.Current.GXCWaveSeekBarUnSelectedColor);
+                                            //濡傛灉鏄叧闂┖璋冪殑璇�,鐩存帴鍙樻殫鍗冲彲
+                                            return;
                                         }
                                         else if (ac.currentSystemMode == 1 || ac.currentSystemMode == 3 || ac.currentSystemMode == 4 || ac.currentSystemMode == 7 || ac.currentSystemMode == 8)
                                         {
@@ -236,14 +228,6 @@
                                         //杩囪檻缃戞竻娲楁爣蹇�: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;
                                 }
                             }
@@ -299,16 +283,16 @@
                     {
                         var deviceUI = device;
                         //璁惧涓虹┖
-                        if (deviceUI.CommonDevice == null)
+                        if (deviceUI == null)
                         {
                             return;
                         }
                         //鏄惁涓哄綋鍓嶈澶�
-                        if (deviceUI.CommonDevice.DeviceEpoint != common.DeviceEpoint || deviceUI.CommonDevice.DeviceAddr != common.DeviceAddr)
+                        if (deviceUI.DeviceEpoint != common.DeviceEpoint || deviceUI.DeviceAddr != common.DeviceAddr)
                         {
                             return;
                         }
-                        if (deviceUI.CommonDevice.Type == DeviceType.Thermostat)
+                        if (deviceUI.Type == DeviceType.Thermostat)
                         {
                             ac.IsOnline = common.IsOnline;
                             ac.LastDateTime = DateTime.Now;
@@ -321,22 +305,7 @@
                 });
             }
         }
-        /// <summary>
-        /// Changeds the IL ogic status.
-        /// </summary>
-        /// <param name="logic">Logic.</param>
-        public void ChangedILogicStatus(ZigBee.Device.Logic logic)
-        {
-            //throw new NotImplementedException();
-        }
-        /// <summary>
-        /// Changeds the IS cene status.
-        /// </summary>
-        /// <param name="scene">Scene.</param>
-        public void ChangedISceneStatus(Scene scene)
-        {
-            //throw new NotImplementedException();
-        }
+
         #endregion
 
         #region 鈼� 鏋勯�犳柟娉昣_______________________
@@ -382,12 +351,12 @@
         /// </summary>
         /// <param name="dev">Device.</param>
         /// <param name="room">Room.</param>
-        public void Show(DeviceUI dev, Shared.Common.Room room)
+        public void Show(CommonDevice dev, Shared.Common.Room room)
         {
             device = dev;
-            zbGateway = this.device.CommonDevice.Gateway;
+            zbGateway = this.device.Gateway;
             this.room = room;
-            this.ac = device.CommonDevice as ZigBee.Device.AC;
+            this.ac = device as ZigBee.Device.AC;
             AddTop();
 
             AddBodyView(device);
@@ -401,7 +370,7 @@
                 //鍙戦�佽鍙栫姸鎬佸懡浠�
                 UserView.UserHomeView.ReadStatus(ac, () =>
                 {
-                    ReadDeviceAttributeLogic.Instance.SendACStatuComand(device.CommonDevice);
+                    ReadDeviceAttributeLogic.Instance.SendACStatuComand(device);
                 });
             }
             else
@@ -409,11 +378,11 @@
                 //闃叉鐭椂闂村唴澶氭璇诲彇璁惧鐘舵��
                 if ((DateTime.Now - ac.LastDateTime).TotalSeconds > CommonPage.ReadDeviceStatuSpan)
                 {
-                    ReadDeviceAttributeLogic.Instance.SendACStatuComand(device.CommonDevice);
+                    ReadDeviceAttributeLogic.Instance.SendACStatuComand(device);
                 }
             }
 
-            if (Common.Room.CurrentRoom.IsCollectInRoom(device.FileName)==false)
+            if (UserCenter.HdlRoomLogic.Current.IsCollectInRoom(device)==false)
             {
                 collectionBtn.IsSelected = false;
             }
@@ -457,7 +426,7 @@
         /// <summary>
         /// AddBodyView
         /// </summary>
-        public void AddBodyView(DeviceUI device)
+        public void AddBodyView(CommonDevice device)
         {
             bodyFrameLayout = new FrameLayout()
             {
@@ -500,7 +469,7 @@
                 Width = Application.GetRealWidth(600),
                 Height = Application.GetRealHeight(60),
                 Gravity = Gravity.CenterHorizontal,
-                Text = device.CommonDevice.DeviceEpointName,
+                Text = Common.LocalDevice.Current.GetDeviceEpointName(device),
                 TextColor = ZigbeeColor.Current.GXCTextBlackColor,
                 TextSize = 15,
                 IsBold=true
@@ -621,7 +590,6 @@
                 SelectedImagePath = ACControlBase.GetFanSwingModeSelectedImagePathByFanSwingModeId(ac.currentFanSwingMode),
                 IsSelected = ACControlBase.IsOpen(ac)
             };
-            itemView.AddChidren(FanSwingModeBtn);
 
             modeBtn = new Button()
             {
@@ -658,6 +626,18 @@
                 IsSelected = ACControlBase.IsOpen(ac)
             };
             itemView.AddChidren(fanModeBtn);
+
+            if (ac.UseSwingFunction)
+            {
+                itemView.AddChidren(FanSwingModeBtn);
+            }
+            else
+            {
+                modeBtn.X = Application.GetRealWidth(207);
+                switchBtn.X = Application.GetRealWidth(444);
+                fanModeBtn.X = Application.GetRealWidth(677);
+            }
+
 
             var roomBG = new Button
             {
@@ -1077,9 +1057,10 @@
                 ACControlBase.ShowACIsCloseTip();
                 return;
             }
-            modeBtn.IsSelected = true;
+
             modeBtn.SelectedImagePath = ACControlBase.GetModeSelectedImagePathByMode(acMode);
-            modeBtn.UnSelectedImagePath = ACControlBase.GetModeUnSelectedImagePathByMode(acMode);
+            modeBtn.UnSelectedImagePath = ACControlBase.GetModeUnSelectedImagePathByMode(acMode);
+            modeBtn.IsSelected = true;
             currentModeBtn.Text = ACControlBase.GetModeNameByMode(acMode);
             ac.currentSystemMode = (int)acMode;
             mArcScaleSeekBar.Progress = ACControlBase.GetCurrentModeTemperature(ac);
@@ -1400,7 +1381,7 @@
                 return;
             }
             var tempDevice = (CommonDevice)objValue;
-            if (tempDevice.DeviceEpoint != this.device.CommonDevice.DeviceEpoint || tempDevice.DeviceAddr != this.device.CommonDevice.DeviceAddr)
+            if (tempDevice.DeviceEpoint != this.device.DeviceEpoint || tempDevice.DeviceAddr != this.device.DeviceAddr)
             {
                 //涓嶆槸褰撳墠璁惧鐨勬帹閫侊紝鍒欎笉澶勭悊
                 return;
@@ -1456,12 +1437,12 @@
         {
             if (collectionBtn.IsSelected)
             {
-                Shared.Common.Room.Lists[0].DeleteDevice(device.FileName);
+                UserCenter.HdlRoomLogic.Current.DeleteLoveDevice(device);
                 collectionBtn.IsSelected = false;
             }
             else
             {
-                Shared.Common.Room.Lists[0].AddDevice(device.FileName);
+                UserCenter.HdlRoomLogic.Current.AddLoveDevice(device);
                 collectionBtn.IsSelected = true;
             }
         }

--
Gitblit v1.8.0