From 25429f085093d89d543a0b90e30d0d62d1b7dac9 Mon Sep 17 00:00:00 2001
From: hxb <hxb@hdlchina.com.cn>
Date: 星期二, 30 八月 2022 09:37:38 +0800
Subject: [PATCH] 合并了IOS的代码

---
 ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WiredGatewaySearchForm.cs |  140 ++++++++++++++++++++++++++++++++--------------
 1 files changed, 97 insertions(+), 43 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WiredGatewaySearchForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WiredGatewaySearchForm.cs
index 448ff57..4ba8faf 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WiredGatewaySearchForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WiredGatewaySearchForm.cs
@@ -58,27 +58,42 @@
             //娓呯┖bodyFrame
             this.ClearBodyFrame();
 
-            //鍥炬爣
-            var picGwImage = new FrameLayout();
-            picGwImage.Width = this.GetPictrueRealSize(861);
-            picGwImage.Height = this.GetPictrueRealSize(478);
-            picGwImage.Y = Application.GetRealHeight(251);
-            picGwImage.Gravity = Gravity.CenterHorizontal;
-            picGwImage.BackgroundImagePath = "Gateway/WiredGatewaySearching.png";
-            bodyFrameLayout.AddChidren(picGwImage);
+            //鎵嬫満杩炴帴缃戝叧
+            var btnTitle = new NormalViewControl(400, 60, true);
+            btnTitle.TextID = R.MyInternationalizationString.uMobileConnectionGateway;
+            btnTitle.X = Application.GetRealWidth(75);
+            btnTitle.Y = Application.GetRealHeight(939);
+            btnTitle.IsBold = true;
+            btnTitle.TextSize = 14;
+            bodyFrameLayout.AddChidren(btnTitle);
 
-            //姝e湪鎼滅储缃戝叧鈥�
-            var btnMsg = new NormalViewControl(bodyFrameLayout.Width, false);
-            btnMsg.TextID = R.MyInternationalizationString.uGatewaySearching;
-            btnMsg.Y = Application.GetRealHeight(1008);
-            btnMsg.TextColor = UserCenterColor.Current.TextGrayColor3;
-            btnMsg.TextAlignment = TextAlignment.Center;
-            bodyFrameLayout.AddChidren(btnMsg);
+            //1.app鑻ユ樉绀鸿繛鎺ョ殑缃戝叧璁惧锛岃〃鏄庤繛鎺ユ垚鍔焮0}2.璇峰墠寰�娣诲姞鍏朵粬璁惧{0}3.鑻ラ暱鏃堕棿鏃犳硶杩炴帴鎴愬姛锛岃鍓嶅線鈥滄煡鐪嬪府鍔┾��
+            string[] ArryMsg = Language.StringByID(R.MyInternationalizationString.uAddMiniGatewayMsg4).Split(new string[] { "{0}" }, StringSplitOptions.RemoveEmptyEntries);
+            int yy = btnTitle.Bottom + Application.GetRealHeight(23);
+            foreach (var msg in ArryMsg)
+            {
+                var btnMsg = new NormalViewControl(bodyFrameLayout.Width, Application.GetRealHeight(60), false);
+                btnMsg.Text = msg;
+                btnMsg.Y = yy;
+                btnMsg.X = btnTitle.X;
+                btnMsg.TextColor = UserCenterColor.Current.TextGrayColor1;
+                btnMsg.TextSize = 12;
+                bodyFrameLayout.AddChidren(btnMsg);
+                yy = btnMsg.Bottom;
+            }
 
             //鍒濆鍖栬繛鎺ョ殑鍋囨兂鍔ㄧ敾鏁堟灉
-            this.InitConcetionAnimete(picGwImage, btnMsg);
+            this.InitConcetionAnimete();
             //寮�鍚綉鍏虫娴嬬殑绾跨▼
             this.StartCheckGatewayThread();
+
+            //鏌ョ湅甯姪
+            var btnHelp = this.AddHelpControl();
+            btnHelp.ButtonClickEvent += (sender, e) =>
+            {
+                var form = new AddGatewayHelpForm();
+                form.AddForm("Wired");
+            };
         }
 
         /// <summary>
@@ -201,8 +216,25 @@
         /// <summary>
         /// 鍒濆鍖栬繛鎺ョ殑鍋囨兂鍔ㄧ敾鏁堟灉
         /// </summary>
-        private void InitConcetionAnimete(FrameLayout picGwImage, NormalViewControl btnMsg)
+        private void InitConcetionAnimete()
         {
+            //鍥炬爣
+            var picGwImage = new FrameLayout();
+            picGwImage.Width = this.GetPictrueRealSize(861);
+            picGwImage.Height = this.GetPictrueRealSize(478);
+            picGwImage.Y = Application.GetRealHeight(251);
+            picGwImage.Gravity = Gravity.CenterHorizontal;
+            picGwImage.BackgroundImagePath = "Gateway/WiredGatewaySearching.png";
+            bodyFrameLayout.AddChidren(picGwImage);
+
+            //姝e湪鎼滅储缃戝叧鈥�
+            var btnMsg = new NormalViewControl(bodyFrameLayout.Width, false);
+            btnMsg.TextID = R.MyInternationalizationString.uGatewaySearching;
+            btnMsg.Y = picGwImage.Bottom + Application.GetRealHeight(150);
+            btnMsg.TextColor = UserCenterColor.Current.TextGrayColor3;
+            btnMsg.TextAlignment = TextAlignment.Center;
+            bodyFrameLayout.AddChidren(btnMsg);
+
             //棣栨牸鐨刋杞�
             int firstPoint = this.GetPictrueRealSize(288);
             //涓�鏍肩殑瀹藉害
@@ -244,7 +276,7 @@
                         //鑾峰彇寰楀埌鏂扮綉鍏�,鍒欎腑鏂嚎绋�
                         break;
                     }
-                    Application.RunOnMainThread(() =>
+                    HdlThreadLogic.Current.RunMain(() =>
                     {
                         btnRound.X = listPoint[index];
                         index++;
@@ -254,12 +286,13 @@
                         }
                         //姝e湪鎼滅储缃戝叧鈥Xs
                         btnMsg.Text = strMsg + timeCount + "s";
-                    });
+                    }, ShowErrorMode.NO);
                 }
                 //鎼滅储缁撴潫
                 this.isGatewaySearching = false;
 
-                if (maxCount <= 0)
+                //2020.07.14杩藉姞:鍊掕鏃剁粨鏉熸椂,鍝�曟槸宸茬粡缁戝畾浜嗙殑缃戝叧,涔熸樉绀哄嚭鏉�
+                if (maxCount <= 0 && listZbGateway.Count == 0)
                 {
                     HdlThreadLogic.Current.RunMain(() =>
                     {
@@ -267,7 +300,7 @@
                         this.InitFailMiddleFrame();
                     });
                 }
-                else if (newGatewayGetting == true)
+                else if (newGatewayGetting == true || listZbGateway.Count > 0)
                 {
                     HdlThreadLogic.Current.RunMain(() =>
                     {
@@ -291,10 +324,12 @@
         private void StartCheckGatewayThread()
         {
             this.isGatewaySearching = true;
-            HdlThreadLogic.Current.RunThread(async () =>
+            this.dicZbGatewayDiv = new Dictionary<string, int>();
+
+            HdlThreadLogic.Current.RunThread(() =>
             {
                 //娓呯┖鍏ㄩ儴鍒楄〃
-                HdlGatewayLogic.Current.ClearAllRealGateway();
+                HdlGatewayLogic.Current.ClearAllRealGatewayConection(true);
                 ZigBee.Common.Application.IsSearchingGateway = true;
 
                 int count = 0;
@@ -310,7 +345,7 @@
                     }
                     count = 0;
 
-                    await this.CheckZbGatewayAndSetRow();
+                    this.CheckZbGatewayAndSetRow();
 
                     if (this.newGatewayGetting == true)
                     {
@@ -324,7 +359,7 @@
         /// <summary>
         /// 妫�娴嬫悳绱㈠埌鐨勭綉鍏筹紝鐒跺悗娣诲姞鍒扮敾闈㈢殑琛岄噷闈�
         /// </summary>
-        private async Task<bool> CheckZbGatewayAndSetRow()
+        private bool CheckZbGatewayAndSetRow()
         {
             List<string> listId = new List<string>();
             for (int i = 0; i < ZbGateway.GateWayList.Count; i++)
@@ -361,27 +396,41 @@
                 {
                     continue;
                 }
+                //2020.09.18 鏈湴杩炴帴娌℃湁杩炴帴涓�,鍒欎笉澶勭悊
+                if (way.localIsConnected == false)
+                {
+                    string strMsg = "鎼滅储鍒颁簡缃戝叧,浣嗘槸鏈湴閾炬帴涓嶄笂  ID:" + way.GwId + " IP:" + way.GwIP + " 鍚嶇О:" + way.GwName;
+                    HdlLogLogic.Current.WriteLog(-1, strMsg);
+                    continue;
+                }
 
                 //缃戝叧缁戝畾妯″紡
-                GatewayBindMode mode = GatewayBindMode.BindAgain;
-                //濡傛灉鏄涓�娆$粦瀹�,鎴栬�呮槸浠ュ墠宸茬粡缁戝畾杩囦簡鐨�
-                if (HdlGatewayLogic.Current.HomeIdIsEmpty(way) == true
-                    || way.HomeId == Common.Config.Instance.HomeId)
+                var mode = GatewayBindMode.BindAgain;
+                //浣忓畢ID涓虹┖ 绗竴娆$粦瀹�
+                if (HdlGatewayLogic.Current.HomeIdIsEmpty(way) == true)
                 {
-                    if (way.HomeId != Common.Config.Instance.HomeId)
-                    {
-                        //绗竴娆$粦瀹�,涔熷氨鏄綉鍏充綇瀹匢D涓虹┖
-                        mode = GatewayBindMode.First;
-                    }
-                    else
-                    {
-                        //宸茬粡缁戝畾杩囦簡
-                        mode = GatewayBindMode.Binded;
-                    }
-
+                    mode = GatewayBindMode.First;
+                }
+                //浣忓畢ID涓嶇浉绛� 闇�瑕侀噸鏂扮粦瀹�
+                else if (way.HomeId != Common.Config.Instance.HomeId)
+                {
+                    mode = GatewayBindMode.BindAgain;
+                }
+                //濡傛灉鏈湴涓嶅瓨鍦ㄧ殑璇�,褰撳仛绗竴娆$粦瀹氬鐞�
+                else if (HdlGatewayLogic.Current.IsGatewayExist(way) == false)
+                {
+                    mode = GatewayBindMode.First;
+                }
+                //浣忓畢ID涓�鏍�,鍒欐槸宸茬粡缁戝畾杩囦簡
+                else
+                {
+                    mode = GatewayBindMode.Binded;
+                }
+                //杩欎袱绉嶆儏鍐甸兘鏄渶瑕侀噸鏂版坊鍔�(宸茬粡缁戝畾杩囦簡鐨�,鏈夊彲鑳戒綇瀹匢D娌″啓杩涘幓,瀹冩湁鍙兘鏄汉涓虹殑娓呯┖浣忓畢ID)
+                if (mode == GatewayBindMode.First || mode == GatewayBindMode.Binded)
+                {
                     //娣诲姞鎼滅储鍒扮殑缃戝叧鍒扮紦瀛�(鎵ц缃戝叧淇濆瓨鎿嶄綔)
-                    ShowErrorMode showMode = this.dicIdCheckCount[listId[i]] == 0 ? ShowErrorMode.YES : ShowErrorMode.NO;
-                    var result = await HdlGatewayLogic.Current.AddNewGateway(way, ShowErrorMode.NO);
+                    var result = HdlGatewayLogic.Current.AddNewGateway(way, ShowErrorMode.NO, WriteLogMode.YES);
                     if (result == false)
                     {
                         continue;
@@ -416,7 +465,12 @@
                 if (mode == GatewayBindMode.First || mode == GatewayBindMode.Binded)
                 {
                     //鎴戣寰楄繖閲岄渶瑕佽幏鍙栦竴涓嬫柊缃戝叧鐨勮澶囧垪琛�
-                    Common.LocalDevice.Current.SetDeviceToMemmoryByGateway(way);
+                    Common.LocalDevice.Current.SetDeviceToMemmoryByGateway(way.GwId, true);
+                    if (way.IsMainGateWay == true)
+                    {
+                        //濡傛灉瀹冩槸涓荤綉鍏�,鍒欏埛鏂板満鏅垪琛�
+                        HdlSceneLogic.Current.RefreshSceneUIList(true);
+                    }
                 }
             }
             return true;

--
Gitblit v1.8.0