From 7e863a33397f317ffc3ffd9288496d0e4f16aa66 Mon Sep 17 00:00:00 2001
From: 黄学彪 <hxb@hdlchina.com.cn>
Date: 星期四, 12 十二月 2019 14:58:20 +0800
Subject: [PATCH] 合并了新代码

---
 ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/BindTargetsPage.cs |  248 +++++++++++++++++++++++++------------------------
 1 files changed, 126 insertions(+), 122 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/BindTargetsPage.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/BindTargetsPage.cs
index c6c03c8..bc46f31 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/BindTargetsPage.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/BindTargetsPage.cs
@@ -43,6 +43,7 @@
         Action<List<BindListResponseObj>> devicBindAction;//璁惧琚粦瀹氶�氱煡
         private System.Collections.Generic.List<CommonDevice> localDeviceList = new System.Collections.Generic.List<CommonDevice>();//鏈湴璁惧鍒楄〃
         private System.Collections.Generic.List<SceneUI> scList = new System.Collections.Generic.List<SceneUI> { };//鏈湴鍦烘櫙鍒楄〃       
+        FrameLayout blankFrameLayout;//绌烘暟鎹樉绀哄竷灞�
         #endregion
 
         //鍒濆鍖栨寜閿暟鎹�
@@ -255,6 +256,7 @@
                 }
                 else
                 {
+                    currentKey.panelMode = 65535;
                     SideslipFramelayout();
                 }
             };
@@ -262,40 +264,15 @@
             btnAddFrameLayout.MouseDownEventHandler += eHandlerAdd;
             #endregion
             CommonPage.Loading.Start("");
+            middleFrameLayout();
             InitListInfo();
 
         }
-
+        /// <summary>
+        /// 涓儴甯冨眬
+        /// </summary>
         void middleFrameLayout()
-        {
-            topFrameLayout = new FrameLayout
-            {
-                Height = Application.GetMinRealAverage(0),
-                BackgroundColor = Shared.Common.ZigbeeColor.Current.XMWhite,
-            };
-            this.midFrameLayout.AddChidren(topFrameLayout);
-
-            #region BindEmptyPic UI 
-            entryStatusPic = new Button
-            {
-                X = Application.GetRealWidth(213),
-                Y = Application.GetRealHeight(418),
-                UnSelectedImagePath = "BindPic/BindEmptyPic.png",
-                Visible = false,
-            };
-            this.midFrameLayout.AddChidren(entryStatusPic);
-
-            btnPicTip = new Button
-            {
-                Y = Application.GetRealHeight(1020),
-                Text = Language.StringByID(R.MyInternationalizationString.NoControlTargets),
-                TextColor = Shared.Common.ZigbeeColor.Current.XMGray3,
-                Gravity = Gravity.CenterHorizontal,
-                Visible = false,
-            };
-            this.midFrameLayout.AddChidren(btnPicTip);
-            #endregion
-
+        { 
             midVerticalRefreshLayout = new VerticalRefreshLayout()
             {
             };
@@ -306,17 +283,53 @@
                 InitListInfo();
                 midVerticalRefreshLayout.EndHeaderRefreshing();
             };
+            topFrameLayout = new FrameLayout
+            {
+                Height = Application.GetMinRealAverage(0),
+                BackgroundColor = Shared.Common.ZigbeeColor.Current.XMWhite,
+            };
+            midVerticalRefreshLayout.AddChidren(topFrameLayout);
+
+            BlankPicUI();
         }
 
+        /// <summary>
+        /// 绌烘暟鎹甎I鏄剧ず
+        /// </summary>
+        void BlankPicUI()
+        {
+            blankFrameLayout = new FrameLayout
+            {
+            };
+            midVerticalRefreshLayout.AddChidren(blankFrameLayout);
+
+            entryStatusPic = new Button
+            {
+                X = Application.GetRealWidth(213),
+                Y = Application.GetRealHeight(418),
+                UnSelectedImagePath = "BindPic/BindEmptyPic.png",
+                Visible = false,
+            };
+            blankFrameLayout.AddChidren(entryStatusPic);
+
+            btnPicTip = new Button
+            {
+                Y = Application.GetRealHeight(1020),
+                Text = Language.StringByID(R.MyInternationalizationString.NoControlTargets),
+                TextColor = Shared.Common.ZigbeeColor.Current.XMGray3,
+                Gravity = Gravity.CenterHorizontal,
+                Visible = false,
+            };
+            blankFrameLayout.AddChidren(btnPicTip);
+        }
         /// <summary>
         /// 鎸夐敭缁戝畾琛ㄦ樉绀�
         /// </summary> 
         async void RefreshList()
         {
+            midVerticalRefreshLayout.RemoveAll();
             this.midFrameLayout.RemoveAll();
             middleFrameLayout();
-            midVerticalRefreshLayout.RemoveAll();
-
             var frameLayoutRow = new FrameLayout()
             {
                 Height = Application.GetMinRealAverage(0),
@@ -332,7 +345,7 @@
                 btnPicTip.Height = Application.GetRealHeight(49);
                 btnPicTip.Visible = true;
                 entryStatusPic.Visible = true;
-                midVerticalRefreshLayout.Height = Application.GetRealHeight(0);
+                blankFrameLayout.Height = midVerticalRefreshLayout.Height; 
             }
             else
             {
@@ -341,6 +354,7 @@
                 btnPicTip.Height = Application.GetRealHeight(0);
                 btnPicTip.Visible = false;
                 entryStatusPic.Visible = false;
+                blankFrameLayout.Height = Application.GetRealHeight(0);
                 if (currentKey.panelMode == 1)
                 {
                     topFrameLayout.Height = Application.GetRealHeight(0);
@@ -348,8 +362,7 @@
                 }
                 else
                 {
-                    topFrameLayout.Height = Application.GetRealHeight(150);
-                    midVerticalRefreshLayout.Y = Application.GetRealHeight(150);
+                    topFrameLayout.Height = Application.GetRealHeight(150); 
                     BindModeDisplay();
                 }
                 int curIndex = 0;
@@ -445,7 +458,10 @@
                         {
                             devicePic.UnSelectedImagePath = curSceneUI.IconPath;
                             btnBindName.Text = curSceneUI.Name;
-                            btnFloorRoomName.Text = curSceneUI.GetZone();
+                            if (curSceneUI.GetZone() != null)
+                            {
+                                btnFloorRoomName.Text = curSceneUI.GetZone();
+                            }
                         }
                     }
                     else
@@ -459,16 +475,25 @@
                                 //鑾峰彇璁惧鎵�灞炴埧闂�
                                 var tempDevRoom = Common.Room.CurrentRoom.GetRoomByDevice(tempDev);
                                 //鑾峰彇璁惧鎵�鍦ㄦゼ灞�
-                                var tempDevFloorId = tempDevRoom.FloorId;
-                                //鑾峰彇妤煎眰鐨勫悕瀛�
-                                var tempDevRoomName = tempDevRoom.Name;
-                                //鑾峰彇妤煎眰鐨勫悕瀛�
-                                var tempDevFloorName = Common.Config.Instance.Home.GetFloorNameById(tempDevFloorId);
-                                btnFloorRoomName.Text = tempDevFloorName + "," + tempDevRoomName;
+                                if (Common.Config.Instance.Home.FloorDics.Count == 0)
+                                {
+                                }
+                                if (tempDevRoom != null)
+                                {
+                                    var tempDevFloorId = tempDevRoom.FloorId;
+                                    //鑾峰彇妤煎眰鐨勫悕瀛�
+                                    var tempDevRoomName = tempDevRoom.Name;
+                                    //鑾峰彇妤煎眰鐨勫悕瀛�
+                                    var tempDevFloorName = Common.Config.Instance.Home.GetFloorNameById(tempDevFloorId);
+                                    btnFloorRoomName.Text = tempDevFloorName + "," + tempDevRoomName;
+                                }
                                 var deviceUi = Common.LocalDevice.Current.GetDeviceUI(tempDev);
-                                devicePic.UnSelectedImagePath = deviceUi.IconPath;
-                                devicePic.Width = Application.GetRealWidth(110);
-                                devicePic.Text = "";
+                                if (deviceUi != null)
+                                {
+                                    devicePic.UnSelectedImagePath = deviceUi.IconPath;
+                                    devicePic.Width = Application.GetRealWidth(110);
+                                    devicePic.Text = "";
+                                }
                                 if (tempDev.DeviceEpointName == "")
                                 {
                                     btnBindName.Text = tempDev.DeviceEpoint + Language.StringByID(R.MyInternationalizationString.uDeviceCircuit);
@@ -596,59 +621,74 @@
             //涓�閿竻闄ゆ寜閿簨浠�
             btnDel.MouseUpEventHandler += async (sender, e) =>
             {
-                bool isDelSuccess = false;
-                try
+                var alert = new Alert(Language.StringByID(R.MyInternationalizationString.Tip), Language.StringByID(R.MyInternationalizationString.SureClearKeyModeAndTargets),
+                                                              Language.StringByID(R.MyInternationalizationString.Cancel), Language.StringByID(R.MyInternationalizationString.Confrim));
+                alert.Show();
+
+                alert.ResultEventHandler += async (s1, e1) =>
                 {
-                    CommonPage.Loading.Start("");
-                    var bindResult = await currentKey.ClearBindInfoAsync();
-                    if (bindResult != null && bindResult.clearBindInfoResponseData != null)
+                    if (e1)
                     {
-                        if (bindResult.clearBindInfoResponseData.Result != 0)
+                        bool isDelSuccess = false;
+                        try
                         {
-                            new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.RemoveFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnDel);
-                            CommonPage.Loading.Hide();
-                            return;
-                        }
-                        else
-                        {
-                            var temp = await currentKey.ConfigureHdlKeyValueAsync(Panel.KeyMode.Default);
-                            if (temp.setWritableValueResponData?.Status != 0)
+                            CommonPage.Loading.Start("");
+                            var bindResult = await currentKey.ClearBindInfoAsync();
+                            if (bindResult != null && bindResult.clearBindInfoResponseData != null)
                             {
-                                var temp1 = await currentKey.ConfigureHdlKeyValueAsync(Panel.KeyMode.Default);
-                                if (temp1.setWritableValueResponData?.Status != 0)
+                                if (bindResult.clearBindInfoResponseData.Result != 0)
                                 {
-                                    new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.ChangeBindMode), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(btnDel);
+                                    new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.RemoveFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnDel);
+                                    CommonPage.Loading.Hide();
+                                    return;
                                 }
                                 else
                                 {
-                                    isDelSuccess = true;
+                                    var temp = await currentKey.ConfigureHdlKeyValueAsync(Panel.KeyMode.Default);
+                                    if (temp.setWritableValueResponData?.Status != 0)
+                                    {
+                                        var temp1 = await currentKey.ConfigureHdlKeyValueAsync(Panel.KeyMode.Default);
+                                        if (temp1.setWritableValueResponData?.Status != 0)
+                                        {
+                                            new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.ChangeBindMode), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(btnDel);
+                                        }
+                                        else
+                                        {
+                                            isDelSuccess = true;
+                                        }
+                                    }
+                                    else
+                                    {
+                                        isDelSuccess = true;
+                                    }
                                 }
                             }
                             else
                             {
-                                isDelSuccess = true;
+                                new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(btnDel);
                             }
+                        }
+                        catch { }
+                        finally
+                        {
+                            if (isDelSuccess)
+                            {
+                                currentKey.panelMode = 65535;
+                                currentKey.bindList.Clear();
+                                RefreshList();
+                                //濡傛灉鏄満鏅紝鐢ㄦ埛鍒犻櫎娓呯┖褰撳墠鍒版埧闂村垪琛�
+                                currentKey.RoomId = "";
+                                currentKey.ReSave();
+                            }
+                            CommonPage.Loading.Hide();
                         }
                     }
                     else
                     {
-                        new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(btnDel);
+
                     }
-                }
-                catch { }
-                finally
-                {
-                    if (isDelSuccess)
-                    {
-                        currentKey.panelMode = 65535;
-                        currentKey.bindList.Clear();
-                        RefreshList();
-                        //濡傛灉鏄満鏅紝鐢ㄦ埛鍒犻櫎娓呯┖褰撳墠鍒版埧闂村垪琛�
-                        currentKey.RoomId = "";
-                        currentKey.ReSave();
-                    }
-                    CommonPage.Loading.Hide();
-                }
+                };
+
             };
         }
 
@@ -1071,48 +1111,8 @@
             {
                 CommonPage.Loading.Start("");
                 var delResult = new DelDeviceBindResponseAllData();
-                delResult = await currentKey.DelDeviceBindAsync(delDevice);
-                //if (delResult != null)
-                //{
-                //    if (delResult.removeBindResultResponseData != null)
-                //    {
-                //        if (delResult.removeBindResultResponseData.Result == 0)
-                //        {
-                //            currentKey.bindList.Remove(bindDevice);
-                //            RefreshList();
-                //            return 0;
-                //        }
-                //        else
-                //        {
-                //            new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.RemoveFailed), Direction = AMPopTipDirection.None, CloseTime = 2 }.Show(CommonPage.Instance);
-                //        }
-                //    }
-                //    else if (delResult.delDeviceBindResponseData != null)
-                //    {
-                //        foreach (var remTarget in delResult.delDeviceBindResponseData.RemoveBindList)
-                //        {
-                //            if (remTarget.Result == 0)
-                //            {
-                //                currentKey.bindList.Remove(bindDevice);
-                //                RefreshList();
-                //                //濡傛灉鏄満鏅紝鐢ㄦ埛鍒犻櫎娓呯┖褰撳墠鍒版埧闂村垪琛�
-                //                currentKey.RoomId = "";
-                //                currentKey.ReSave();
-                //                return 0;
-                //            }
-                //            else
-                //            {
-                //                new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.RemoveFailed), Direction = AMPopTipDirection.None, CloseTime = 2 }.Show(CommonPage.Instance);
-                //            }
-                //        }
-                //    }
-                //}
-                //else
-                //{
-                //    new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.None, CloseTime = 2 }.Show(CommonPage.Instance);
-                //}
-
-                if (delResult != null && delResult.removeBindResultResponseData != null)
+                delResult = await currentKey.DelDeviceBindAsync(delDevice); 
+                if (delResult != null && delResult.delDeviceBindResponseData != null)
                 {
                     if (delResult.delDeviceBindResponseData?.RemoveBindList != null)
                     {
@@ -1124,6 +1124,10 @@
                                     currentKey.bindList.Remove(bindDevice);
                                     RefreshList();
                                     //濡傛灉鏄満鏅紝鐢ㄦ埛鍒犻櫎娓呯┖褰撳墠鍒版埧闂村垪琛�
+                                    if(re.BindType == 2)
+                                    {
+                                        currentKey.panelMode = 65535;
+                                    }
                                     currentKey.RoomId = "";
                                     currentKey.ReSave();
                                     return 0;

--
Gitblit v1.8.0