From 2f05a4874e64b3c2e60055e1246025f8a0367f78 Mon Sep 17 00:00:00 2001 From: 黄学彪 <hxb@hdlchina.com.cn> Date: 星期一, 15 三月 2021 17:53:09 +0800 Subject: [PATCH] 红外宝最终版本 --- HDL_ON/UI/UI2/4-PersonalCenter/AddDevice/AddMiniRemoteControlDirection2Page.cs | 98 ++++++++++++++++++++++++++++++++++-------------- 1 files changed, 69 insertions(+), 29 deletions(-) diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/AddDevice/AddMiniRemoteControlDirection2Page.cs b/HDL_ON/UI/UI2/4-PersonalCenter/AddDevice/AddMiniRemoteControlDirection2Page.cs index 220c220..8f46dd9 100644 --- a/HDL_ON/UI/UI2/4-PersonalCenter/AddDevice/AddMiniRemoteControlDirection2Page.cs +++ b/HDL_ON/UI/UI2/4-PersonalCenter/AddDevice/AddMiniRemoteControlDirection2Page.cs @@ -21,6 +21,10 @@ /// wifi瀵嗙爜 /// </summary> private string wifiPassword = string.Empty; + /// <summary> + /// 钃濈墮璁惧 + /// </summary> + private List<HdlBluetoothLogic.BluetoothInfo> listDevice = new List<HdlBluetoothLogic.BluetoothInfo>(); #endregion @@ -73,24 +77,8 @@ this.AddListMsgControls(bodyFrameLayout, strMsg, CSS.CSS_FontSize.TextFontSize, CSS.CSS_Color.FirstLevelTitleColor, Application.GetRealHeight(20), btnSearch.Bottom + Application.GetRealHeight(4)); - //鎼滅储鏃堕棿(绉�) - int searchTime = 5; - - //鎼滅储钃濈墮(鐗规晥闂,鍔�1绉�) - this.StartSearchBluetooth(searchTime + 1); - - HdlThreadLogic.Current.RunThread(() => - { - //杩涘害鏉$壒鏁� - for (int i = 0; i <= searchTime; i++) - { - HdlThreadLogic.Current.RunMain(() => - { - btnProgress.SetValue(i + 1, searchTime); - }); - System.Threading.Thread.Sleep(1000); - } - }); + //寮�鍚繘搴︽潯鐗规晥 + this.StartProgressSpecialEffects(btnProgress); } #endregion @@ -98,15 +86,13 @@ #region 鈻� 鎼滅储钃濈墮___________________________ /// <summary> - /// 瀹夊崜鎼滅储钃濈墮 + /// 鎼滅储钃濈墮 /// </summary> - /// <param name="i_searchTime">鎼滅储鏃堕棿(绉�)</param> - private void StartSearchBluetooth(int i_searchTime) + private void StartSearchBluetooth() { //寮�濮嬫悳绱㈣摑鐗� - HdlBluetoothLogic.Current.ScanBluetooth(i_searchTime, (listBluetooth) => + HdlBluetoothLogic.Current.ScanBluetooth(2, (listBluetooth) => { - var listDevice = new List<HdlBluetoothLogic.BluetoothInfo>(); foreach (var device in listBluetooth) { //鍙湁杩欎釜鏍囪瘑,鎵嶆槸绾㈠瀹� @@ -120,18 +106,13 @@ { //鎽ф瘉钃濈墮缂撳瓨 HdlBluetoothLogic.Current.Dispone(); - //鏄剧ず澶辫触鐣岄潰 - HdlThreadLogic.Current.RunMain(() => - { - this.ShowFailView(); - }); } else if (listDevice.Count == 1) { //濡傛灉鍙娴嬪埌涓�涓�,鍒欑洿鎺ヨ繛鎺� HdlBluetoothLogic.Current.ContectBluetooth(listDevice[0], (result) => { - if (result == true) + if (result == true && this.Parent != null) { //杩炴帴鎴愬姛,鍒欒烦杞埌涓嬩竴涓晫闈� HdlThreadLogic.Current.RunMain(() => @@ -180,6 +161,63 @@ }); } + /// <summary> + /// 寮�鍚繘搴︽潯鐗规晥 + /// </summary> + private void StartProgressSpecialEffects(ProgressRowBar btnProgress) + { + //鎼滅储鏃堕棿(绉�) + int searchTime = 180; + HdlThreadLogic.Current.RunThread(() => + { + //杩涘害鏉$壒鏁� + for (int i = 1; i <= searchTime; i++) + { + System.Threading.Thread.Sleep(1000); + HdlThreadLogic.Current.RunMain(() => + { + //杩涘害鏉$壒鏁� + btnProgress.SetValue(i, searchTime); + }); + + //鐣岄潰鍏抽棴 + if (this.Parent == null) + { + break; + } + //濡傛灉宸茬粡鎼滅储鍒拌摑鐗�,鍒欑洿鎺ュ埌100% + if (listDevice.Count > 0) + { + HdlThreadLogic.Current.RunMain(() => + { + btnProgress.SetValue(searchTime, searchTime); + }); + break; + } + if (i % 5 == 1) + { + //姣�5绉掓悳绱竴娆� + this.StartSearchBluetooth(); + } + //瓒呮椂 + if (i >= searchTime) + { + System.Threading.Thread.Sleep(3000); + //鏈�鍚庣殑鏃堕棿杩樻槸鎼滀笉鍒扮殑璇� + if (listDevice.Count == 0) + { + //鏄剧ず澶辫触鐣岄潰 + HdlThreadLogic.Current.RunMain(() => + { + this.ShowFailView(); + }); + } + break; + } + } + }); + } + #endregion #region 鈻� 鏄剧ず閫夋嫨钃濈墮鍒楄〃鐨勭晫闈____________ @@ -191,6 +229,8 @@ /// <param name="selectEvent">閫夋嫨浜嬩欢(鑰冭檻鍒癐os鍜屽畨鍗�,鎵�浠ヨ繖鏍峰畾鍙傛暟)</param> private void ShowBluetoothListView(List<string> listName, Action<int> selectEvent) { + if (this.Parent == null) { return; } + HdlThreadLogic.Current.RunMain(() => { var contr = new BottomItemSelectControl(listName.Count, Language.StringByID(StringId.ChooseInfraredRemoteControl), false); -- Gitblit v1.8.0