From 9a4b76398009cf76c508d61f7e48fb6f5cb7ac2d Mon Sep 17 00:00:00 2001 From: xm <1271024303@qq.com> Date: 星期二, 21 七月 2020 09:46:53 +0800 Subject: [PATCH] 请合并最新多功能面板代码 --- ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessApSearchForm.cs | 112 ++++++++++++++++++++++++++++++-------------------------- 1 files changed, 60 insertions(+), 52 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessApSearchForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessApSearchForm.cs index ea4e0a0..6e36d1d 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessApSearchForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessApSearchForm.cs @@ -26,9 +26,9 @@ /// </summary> private bool newGatewayGetting = false; /// <summary> - /// 缃戝叧妫�娴嬩腑 + /// 缃戝叧鎼滅储涓� /// </summary> - private string isGatewayChecking = "0"; + private bool isGatewaySearching = true; #endregion @@ -54,8 +54,7 @@ //娓呯┖bodyFrame this.ClearBodyFrame(); - //绯荤粺鐏瘡绉掗棯鐑佷竴娆� - //鍒欒繛鎺ユ垚鍔� + //缃戝叧濡傛灉姝e父杩炴帴璺敱鍣▄0}绯荤粺鎸囩ず鐏細1绉掗棯鐑� string[] ArryMsg = Language.StringByID(R.MyInternationalizationString.uAddApWirelessGatewayMsg4).Split(new string[] { "{0}" }, StringSplitOptions.RemoveEmptyEntries); int yy = Application.GetRealHeight(1066); foreach (var msg in ArryMsg) @@ -71,6 +70,8 @@ //鍒濆鍖栬繛鎺ョ殑鍋囨兂鍔ㄧ敾鏁堟灉 this.InitConcetionAnimete(); + //寮�鍚綉鍏虫娴嬬殑绾跨▼ + this.StartCheckGatewayThread(); } /// <summary> @@ -83,8 +84,8 @@ //鍥炬爣 var picGwImage = new FrameLayout(); - picGwImage.Width = Application.GetMinRealAverage(861); - picGwImage.Height = Application.GetMinRealAverage(245); + picGwImage.Width = this.GetPictrueRealSize(861); + picGwImage.Height = this.GetPictrueRealSize(245); picGwImage.Y = Application.GetRealWidth(223); picGwImage.Gravity = Gravity.CenterHorizontal; picGwImage.BackgroundImagePath = "Gateway/WirelessApGatewaySearching.png"; @@ -92,7 +93,7 @@ var btnFailIcon = new PicViewControl(66, 66); btnFailIcon.UnSelectedImagePath = "Item/FailIcon.png"; btnFailIcon.Gravity = Gravity.CenterHorizontal; - btnFailIcon.Y = Application.GetMinRealAverage(110); + btnFailIcon.Y = this.GetPictrueRealSize(110); picGwImage.AddChidren(btnFailIcon); //鎼滅储澶辫触 var btnFailView = new NormalViewControl(300, 60, true); @@ -109,7 +110,7 @@ btnMsg1.Y = picGwImage.Bottom + Application.GetRealHeight(112); btnMsg1.TextID = R.MyInternationalizationString.uSearchGatewayFailMsg1; bodyFrameLayout.AddChidren(btnMsg1); - //1.闀挎寜ZB/RST閿�20绉掞紝缃戝叧鎭㈠鍑哄巶璁剧疆锛屾寚绀虹伅鍏ㄩ儴鐔勭伃鍚庯紝閲嶆柊鍏ョ綉銆� + //1.鐭寜HID/WCFG鎸夐敭锛岀郴缁熸寚绀虹伅蹇棯3绉掞紝缃戝叧杩涘叆鎹㈢粦妯″紡锛屽己鍒剁綉鍏崇粦瀹氬埌褰撳墠APP var btnMsg2 = new NormalViewControl(930, 100, true); btnMsg2.X = Application.GetRealWidth(75); btnMsg2.Y = btnMsg1.Bottom + Application.GetRealHeight(35); @@ -118,7 +119,7 @@ btnMsg2.TextColor = UserCenterColor.Current.TextGrayColor1; btnMsg2.IsMoreLines = true; bodyFrameLayout.AddChidren(btnMsg2); - //2.鐐规寜HID/WCFG閿紝杩涘叆缃戝叧鎹㈢粦妯″紡锛岀郴缁熸寚绀虹伅蹇棯5绉掋�� + //2.闀挎寜缃戝叧ZB/RST鎸夐敭20绉掍互涓婏紝鐩村埌鎵�鏈夋寚绀虹伅鍚屾椂鐏紝鍗虫仮澶嶅嚭鍘傝缃苟閲嶅惎 var btnMsg3 = new NormalViewControl(930, 100, true); btnMsg3.X = Application.GetRealWidth(75); btnMsg3.Y = btnMsg2.Bottom + Application.GetRealHeight(12); @@ -145,7 +146,7 @@ bodyFrameLayout.AddChidren(btnMsg5); //閲嶈瘯 - var frameback = new FrameLayoutControl(); + var frameback = new FrameLayoutStatuControl(); frameback.UseClickStatu = false; frameback.Y = Application.GetRealHeight(1259); frameback.Gravity = Gravity.CenterHorizontal; @@ -154,13 +155,14 @@ frameback.BackgroundImagePath = "Item/BottomButtonGround.png"; bodyFrameLayout.AddChidren(frameback); var btnReDo = new NormalViewControl(300, 65, true); + btnReDo.IsBold = true; btnReDo.TextColor = UserCenterColor.Current.White; btnReDo.TextSize = 16; btnReDo.Y = Application.GetRealHeight(49); btnReDo.Gravity = Gravity.CenterHorizontal; btnReDo.TextAlignment = TextAlignment.Center; btnReDo.TextID = R.MyInternationalizationString.uReDoAgain; - frameback.AddChidren(btnReDo, ChidrenBindMode.BindEventOnly); + frameback.AddChidren(btnReDo, ChidrenBindMode.BindEvent); frameback.ButtonClickEvent += (sender, e) => { //鍒濆鍖栧垵濮嬩腑閮ㄦ帶浠� @@ -196,8 +198,8 @@ { //鍥炬爣 var btnGwImage = new FrameLayout(); - btnGwImage.Width = Application.GetMinRealAverage(861); - btnGwImage.Height = Application.GetMinRealAverage(245); + btnGwImage.Width = this.GetPictrueRealSize(861); + btnGwImage.Height = this.GetPictrueRealSize(245); btnGwImage.Y = Application.GetRealHeight(360); btnGwImage.Gravity = Gravity.CenterHorizontal; btnGwImage.BackgroundImagePath = "Gateway/WirelessApGatewaySearching.png"; @@ -212,11 +214,11 @@ bodyFrameLayout.AddChidren(btnMsg); //棣栨牸鐨刋杞� - int firstPoint = Application.GetMinRealAverage(275); + int firstPoint = this.GetPictrueRealSize(275); //涓�鏍肩殑瀹藉害 - int width = Application.GetMinRealAverage(22); + int width = this.GetPictrueRealSize(22); //闂磋窛澶у皬 - int space = Application.GetMinRealAverage(12); + int space = this.GetPictrueRealSize(12); //鐢熸垚鏍煎瓙鍧愭爣 var listPoint = new List<int>(); @@ -229,17 +231,13 @@ var btnRound = new PicViewControl(width, width, false); btnRound.Radius = (uint)width / 2; btnRound.BackgroundColor = UserCenterColor.Current.ConcetionRoundColor; - btnRound.Y = Application.GetMinRealAverage(135); + btnRound.Y = this.GetPictrueRealSize(135); btnRound.X = listPoint[0]; btnGwImage.AddChidren(btnRound); string strMsg = btnMsg.Text; HdlThreadLogic.Current.RunThread(() => { - //娓呯┖鍏ㄩ儴鍒楄〃 - HdlGatewayLogic.Current.ClearAllRealGateway(); - ZigBee.Common.Application.IsSearchingGateway = true; - int index = 1; //璁℃椂鏃堕棿 int timeCount = 0; @@ -253,25 +251,6 @@ //5绉掑悗娓呯┖缃戝叧鍒楄〃 HdlGatewayLogic.Current.ClearAllRealGateway(); ZigBee.Common.Application.IsSearchingGateway = true; - } - if (timeCount % 4 == 0 && timeCount >= 10) - { - lock (isGatewayChecking) - { - if (isGatewayChecking != "1") - { - isGatewayChecking = "1"; - HdlThreadLogic.Current.RunThread(async () => - { - //姣�2绉掓娴嬫悳绱㈠埌鐨勭綉鍏� - await this.CheckZbGatewayAndSetRow(); - lock (isGatewayChecking) - { - isGatewayChecking = "0"; - } - }); - } - } } if (timeCount % 2 == 0) { @@ -297,6 +276,9 @@ System.Threading.Thread.Sleep(500); } + //鎼滅储缁撴潫 + this.isGatewaySearching = false; + if (timeOut <= 0) { HdlThreadLogic.Current.RunMain(() => @@ -324,15 +306,46 @@ #region 鈻� 缃戝叧妫�娴媉__________________________ /// <summary> + /// 寮�鍚綉鍏虫娴嬬殑绾跨▼ + /// </summary> + private void StartCheckGatewayThread() + { + this.isGatewaySearching = true; + HdlThreadLogic.Current.RunThread(async () => + { + int count = 0; + while (this.Parent != null && this.isGatewaySearching == true) + { + //姣�2绉掓娴嬫悳绱㈠埌鐨勭綉鍏� + System.Threading.Thread.Sleep(500); + count++; + if (count < 4) + { + //涓昏涓轰簡蹇竴鐐硅兘澶熶腑鏂繖涓嚎绋� + continue; + } + count = 0; + + await this.CheckZbGatewayAndSetRow(); + + if (this.newGatewayGetting == true) + { + //鑾峰彇寰楀埌鏂扮綉鍏�,鍒欎腑鏂嚎绋� + break; + } + } + }); + } + + /// <summary> /// 妫�娴嬫悳绱㈠埌鐨勭綉鍏� /// </summary> private async Task<bool> CheckZbGatewayAndSetRow() { - var listCheck = new HashSet<string>(); for (int i = 0; i < ZbGateway.GateWayList.Count; i++) { var way = ZbGateway.GateWayList[i]; - var wayId = HdlGatewayLogic.Current.GetGatewayId(way); + var wayId = way.GwId; if (dicZbGatewayDiv.ContainsKey(wayId) == true) { //宸茬粡澶勭悊浜� @@ -343,9 +356,9 @@ GatewayBindMode mode = GatewayBindMode.BindAgain; //濡傛灉鏄涓�娆$粦瀹�,鎴栬�呮槸浠ュ墠宸茬粡缁戝畾杩囦簡鐨� if (HdlGatewayLogic.Current.HomeIdIsEmpty(way) == true - || way.getGatewayBaseInfo.HomeId == Common.Config.Instance.HomeId) + || way.HomeId == Common.Config.Instance.HomeId) { - if (way.getGatewayBaseInfo.HomeId != Common.Config.Instance.HomeId) + if (way.HomeId != Common.Config.Instance.HomeId) { //绗竴娆$粦瀹�,涔熷氨鏄綉鍏充綇瀹匢D涓虹┖ mode = GatewayBindMode.First; @@ -382,9 +395,11 @@ { //闇�瑕侀噸鏂扮粦瀹� this.dicZbGatewayDiv[wayId] = 2; + //鑾峰彇鍒颁簡鏂扮綉鍏� + this.newGatewayGetting = true; } - if (mode == GatewayBindMode.First) + if (mode == GatewayBindMode.First || mode == GatewayBindMode.Binded) { //鎴戣寰楄繖閲岄渶瑕佽幏鍙栦竴涓嬫柊缃戝叧鐨勮澶囧垪琛� Common.LocalDevice.Current.SetDeviceToMemmoryByGateway(way); @@ -403,14 +418,7 @@ public override void CloseFormBefore() { ZigBee.Common.Application.IsSearchingGateway = false; - //鍋滄Wi-Fi閰嶇綉 - HdlWifiLogic.Current.StopSmartConnection(); - if (UserCenterResourse.listActionFormId.Contains("UserMainForm") == false) - { - //鍒锋柊涓婚〉 - UserView.UserPage.Instance.Fresh(); - } base.CloseFormBefore(); } -- Gitblit v1.8.0