From 3dcbd186c42c598c0c08d1cd37034cf2baa09e54 Mon Sep 17 00:00:00 2001
From: 黄学彪 <hxb@hdlchina.com.cn>
Date: 星期一, 30 十二月 2019 15:47:51 +0800
Subject: [PATCH] 合并了代码

---
 ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs |  157 +++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 136 insertions(+), 21 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs b/ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs
old mode 100755
new mode 100644
index 5ff1223..ba4fa3d
--- a/ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs
+++ b/ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs
@@ -7,6 +7,7 @@
 using Shared.Phone.UserCenter.DoorLock;
 using System.Timers;
 using Shared.Phone.Device.DeviceLogic;
+using Shared.Phone.UserCenter;
 
 namespace Shared.Phone.UserView
 {
@@ -88,6 +89,8 @@
         /// sceneScrolView
         /// </summary>
         private VerticalScrolViewLayout sceneScrolView ;
+
+
         #endregion
 
         #region 鈼� 鎺ュ彛____________________________
@@ -135,7 +138,7 @@
                                 continue;
                             }
 
-                            for (int j=0;j<rowFL.ChildrenCount;j++)
+                            for (int j = 0; j < rowFL.ChildrenCount; j++)
                             {
                                 var deviceUI = (rowFL.GetChildren(j) as FunctionMainView).Tag as DeviceUI;
                                 if (deviceUI == null || deviceUI.CommonDevice == null)
@@ -221,7 +224,7 @@
                                             var ac = deviceUI.CommonDevice as ZigBee.Device.AC;
                                             ac.DeviceStatusReport = common.DeviceStatusReport;
                                             var attriButeList = ac.DeviceStatusReport.AttriBute;
-                                            foreach(var attList in attriButeList)
+                                            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)
@@ -270,7 +273,7 @@
                                             var ac = deviceUI.CommonDevice as ZigBee.Device.AC;
                                             var attriButeList = common.DeviceStatusReport.AttriBute;
                                             ac.DeviceStatusReport = common.DeviceStatusReport;
-                                            foreach(var attList in attriButeList)
+                                            foreach (var attList in attriButeList)
                                             {
                                                 switch (attList.AttributeId)
                                                 {
@@ -320,7 +323,7 @@
                                                     //姝ゅ睘鎬ц〃鏄庡綋鍓嶄寒搴︾▼搴�
                                                     dimmableLight.Level = attriButeList[0].AttriButeData;
                                                     dimmableLight.LastDateTime = DateTime.Now;
-                                                    (rowFL.GetChildren(j) as FunctionMainView).IsSelected = true;
+                                                    //rowFL.GetChildren(j) as FunctionMainView).IsSelected = true;
                                                     (rowFL.GetChildren(j) as FunctionMainView).StatuButton.Text = deviceUI.GetDeviceStatu();
                                                     break;
                                             }
@@ -336,7 +339,56 @@
                     }
                 });
             }
+            else if (typeTag == "IASInfoReport")
+            {
+                Application.RunOnMainThread(() =>
+                {
+                    try
+                    {
+                        for (int i = 0; deviceVerticalScrolViewLayout != null && i < deviceVerticalScrolViewLayout.ChildrenCount; i++)
+                        {
+                            var rowFL = deviceVerticalScrolViewLayout.GetChildren(i) as FrameLayout;
+                            if (rowFL.ChildrenCount == 0)
+                            {
+                                //璁惧涓虹┖鎴栬�呮帶浠朵负绌�
+                                continue;
+                            }
 
+                            for (int j = 0; j < rowFL.ChildrenCount; j++)
+                            {
+                                var deviceUI = (rowFL.GetChildren(j) as FunctionMainView).Tag as DeviceUI;
+                                if (deviceUI == null || deviceUI.CommonDevice == null)
+                                {
+                                    //璁惧涓虹┖鎴栬�呮帶浠朵负绌�
+                                    continue;
+                                }
+                                if (common.DeviceAddr != deviceUI.CommonDevice.DeviceAddr || common.DeviceEpoint != deviceUI.CommonDevice.DeviceEpoint)
+                                {
+                                    //鍒ゆ柇鏄惁涓哄綋鍓嶈澶�
+                                    continue;
+                                }
+
+                                switch (deviceUI.CommonDevice.Type)
+                                {
+                                    case DeviceType.IASZone:
+                                        //ias
+                                        var ias = common as IASZone;
+                                        var iAS = deviceUI.CommonDevice as ZigBee.Device.IASZone;
+                                        iAS.iASInfo = ias.iASInfo;
+                                        (rowFL.GetChildren(j) as FunctionMainView).IsSelected = iAS.iASInfo?.Alarm1 == 1;
+                                        (rowFL.GetChildren(j) as FunctionMainView).StatuButton.Text = deviceUI.GetDeviceStatu();
+                                        iAS.LastDateTime = DateTime.Now;
+                                        break;
+                                }
+                            }
+                        }
+                    }
+                    catch (Exception ex)
+                    {
+                        System.Console.WriteLine($"Error:{ex.Message}");
+                    }
+                });
+            }
         }
         /// <summary>
         /// Changeds the IL ogic status.
@@ -427,15 +479,19 @@
                 topFrameLayout.AddChidren(floorBtn);
             }
 
-            var messageBtn = new Button()
+            if(UserCenterResourse.Option.SafetyShortcut)
             {
-                X = Application.GetRealWidth(953),
-                Width = Application.GetMinRealAverage(69),
-                Height = Application.GetMinRealAverage(69),
-                Gravity = Gravity.CenterVertical,
-                UnSelectedImagePath = "Item/Message.png",
-                SelectedImagePath = "Item/MessageSelected.png"
-            };
+                var safetyBtn = new SafetyShortcutControl();
+                safetyBtn.X = Application.GetRealWidth(860);
+                safetyBtn.Gravity = Gravity.CenterVertical;
+                topFrameLayout.AddChidren(safetyBtn);
+            }
+
+            var messageBtn = new MessageManagementControl();
+            messageBtn.X = Application.GetRealWidth(953);
+            messageBtn.Gravity = Gravity.CenterVertical;
+            messageBtn.UnSelectedImagePath = "Item/Message.png";
+            messageBtn.SelectedImagePath = "Item/MessageSelected.png";
             topFrameLayout.AddChidren(messageBtn);
 
             var residecneName = new Button()
@@ -447,7 +503,7 @@
                 TextAlignment = TextAlignment.CenterLeft,
                 Text = Config.Instance.Home.Name ?? Language.StringByID(R.MyInternationalizationString.TheResidenceNameNull),
                 TextSize = 24,
-                TextColor = ZigbeeColor.Current.GXCTextBlackColor,
+                TextColor = ZigbeeColor.Current.GXCTextDeepBlackColor,
                 IsBold=true
             };
             if (Config.Instance.Home.IsOthreShare)
@@ -606,7 +662,7 @@
                             pointBtn.IsSelected = false;
                             nameBtn.IsSelected = false;
                         }
-                    };
+                    }
                 }
             };
             //娑堟伅
@@ -628,23 +684,30 @@
                 };
                 AddChidren(roomPageView);
                 //绐佸嚭杈硅窛
-                roomPageView.TCBJ = Application.GetRealWidth(112);
+                roomPageView.TCBJ = Application.GetRealWidth(181);
                 //涓や釜page涔嬮棿鐨勯棿璺�
-                roomPageView.JMBJ = Application.GetRealWidth(69);
+                roomPageView.JMBJ = Application.GetRealWidth(0);
 
                 //褰撳墠鎴块棿
-                //Room.CurrentRoom = Room.CurrentRoom == null ? Room.Lists[0] : Room.CurrentRoom;
                 var rList = Room.CurrentRoom.GetRoomsByCurrentFloorIdAppendLoveRoom();
-                Room.CurrentRoom = rList[0];
+                Room.CurrentRoom = Room.CurrentRoom ?? rList[0];
                 foreach (var room in rList)
                 {
                     var roomView = new Device.CommonForm.RoomView(0, 0);
                     roomPageView.AddChidren(roomView);
                     roomView.Init(room);
+                    roomView.HideName(true);
                     roomView.action += () =>
                     {
                         Show();
                     };
+                }
+                var curIndex = rList.FindIndex((obj) => obj.Id == Room.CurrentRoom.Id);
+                roomPageView.PageIndex = curIndex;
+                if (roomPageView.GetChildren(roomPageView.PageIndex) != null)
+                {
+                    (roomPageView.GetChildren(roomPageView.PageIndex) as RoomView).HideName(false);
+                    
                 }
 
                 var functionSceneView = new FrameLayout()
@@ -725,9 +788,22 @@
 
                 roomPageView.PageChange += (sender, e) =>
                 {
+                    if(roomPageView.GetChildren(roomPageView.PageIndex - 1) !=null)
+                    {
+                        (roomPageView.GetChildren(roomPageView.PageIndex - 1) as RoomView).HideName(true);
+                    }
+                    if (roomPageView.GetChildren(roomPageView.PageIndex + 1) != null)
+                    {
+                        (roomPageView.GetChildren(roomPageView.PageIndex + 1) as RoomView).HideName(true);
+                    }
+                    if (roomPageView.GetChildren(roomPageView.PageIndex) != null)
+                    {
+                        (roomPageView.GetChildren(roomPageView.PageIndex) as RoomView).HideName(false);
+                    }
                     //鍒囨崲褰撳墠鎴块棿
                     Room.CurrentRoom = rList[roomPageView.PageIndex];
                     RefreshBodyView();
+                    
                 };
             }
             else
@@ -901,6 +977,7 @@
                 Height = Application.GetRealHeight(200),
                 Text = Language.StringByID(R.MyInternationalizationString.NoFunction_Tip).Replace("{\\r\\n}", "\r\n"),
                 TextColor = ZigbeeColor.Current.GXCPlaceHolderTextColor,
+                TextAlignment=TextAlignment.Center,
                 IsMoreLines = true
             };
             functionSceneBodyView.AddChidren(noFunctionTip);
@@ -924,14 +1001,25 @@
             }
             else
             {
+                var dList = new List<DeviceUI> { };
+                foreach(var device in deviceList)
+                {
+                    var info = Common.LocalDevice.Current.GetDeviceBelongEnumInfo(device.CommonDevice);
+                    if (info.BeloneType == DeviceBeloneType.A骞叉帴鐐� || info.BeloneType == DeviceBeloneType.A涓户鍣�)
+                    {
+                        continue;
+                    }
+                    dList.Add(device);
+                }
+
                 deviceVerticalScrolViewLayout = new VerticalScrolViewLayout { };
                 functionSceneBodyView.AddChidren(deviceVerticalScrolViewLayout);
-                for (int i = 0; i < deviceList.Count; i++)
+                for (int i = 0; i < dList.Count; i++)
                 {
-                    var device = deviceList[i];
+                    var device = dList[i];
                     //new System.Threading.Thread(() =>
                     //{
-                        Application.RunOnMainThread(() =>
+                    Application.RunOnMainThread(() =>
                         {
                             try
                             {
@@ -1539,6 +1627,32 @@
                                         lightView.CollectButton.MouseUpEventHandler += collectionEvent;
                                     }
                                 }
+                                else if (device.CommonDevice.Type == DeviceType.IASZone)
+                                {
+                                    //鍚勭被浼犳劅鍣�
+                                    var ias = device.CommonDevice as IASZone;
+
+                                    var lightView = new FunctionMainView(xx, yy);
+                                    itemView.AddChidren(lightView);
+                                    lightView.Init();
+                                    lightView.Tag = device;
+                                    lightView.SetDeviceImage(device.IconPath, device.OnlineIconPath);
+                                    lightView.SetStatuText(device.GetDeviceStatu());
+                                    lightView.SetDeviceName(device.CommonDevice.DeviceEpointName);
+                                    lightView.IsSelected = ias.iASInfo?.Alarm1 == 1;
+                                    lightView.SetCollect(Room.CurrentRoom.IsCollectInRoom(Room.CurrentRoom, device.FileName));
+                                    lightView.CanControl(false);
+                                    var dev = Room.LoveRoomDeviceUIFilePathList.Find((obj) => obj == device.FileName);
+                                    if (dev == null)
+                                    {
+                                        lightView.CollectButton.IsSelected = false;
+                                    }
+                                    else
+                                    {
+                                        lightView.CollectButton.IsSelected = true;
+                                    }
+                                    lightView.CollectButton.MouseUpEventHandler += collectionEvent;
+                                }
                                 else if (device.CommonDevice.Type == DeviceType.DoorLock)
                                 {
                                     //闂ㄩ攣
@@ -1634,6 +1748,7 @@
                 Height = Application.GetRealHeight(200),
                 Text = Language.StringByID(R.MyInternationalizationString.NoScene_Tip).Replace("{\\r\\n}", "\r\n"),
                 TextColor = ZigbeeColor.Current.GXCPlaceHolderTextColor,
+                TextAlignment = TextAlignment.Center,
                 IsMoreLines = true
             };
             functionSceneBodyView.AddChidren(noScenceTip);

--
Gitblit v1.8.0