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