黄学彪
2021-03-15 2f05a4874e64b3c2e60055e1246025f8a0367f78
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">选择事件(考虑到Ios和安卓,所以这样定参数)</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);