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 ++++++++---
HDL_ON/UI/UI0-Stan/Logic/HdlBluetoothAndroidLogic.cs | 179 ++++++++++++---------
HDL_ON/UI/UI0-Stan/Logic/HdlBluetoothIOSLogic.cs | 114 ++++++-------
HDL_ON/UI/UI2/4-PersonalCenter/PersonalCenterPage.cs | 5
HDL_ON/UI/UI2/4-PersonalCenter/AddDevice/AddMiniRemoteControlDirection4Page.cs | 57 +++++-
HDL_ON/Entity/FunctionList.cs | 23 ++
6 files changed, 291 insertions(+), 185 deletions(-)
diff --git a/HDL_ON/Entity/FunctionList.cs b/HDL_ON/Entity/FunctionList.cs
index af63fec..baaa0f8 100644
--- a/HDL_ON/Entity/FunctionList.cs
+++ b/HDL_ON/Entity/FunctionList.cs
@@ -201,7 +201,11 @@
/// 鍔犺浇鍔熻兘鍒楄〃
/// </summary>
/// <param name="filePath"></param>
- public void IniFunctionList(string filePath)
+ /// <param name="checkRepeat">
+ /// <para>鑰冭檻鍒版�ц兘闂杩藉姞姝ゅ彉閲�,鏄惁妫�娴嬮噸澶�,鍙function鏈夋晥</para>
+ /// <para>true:褰撻噸澶嶅瓨鍦ㄦ椂,鏇挎崲鎺�</para>
+ /// <para>false:鐩存帴鏃犳潯浠舵坊鍔�</para></param>
+ public void IniFunctionList(string filePath, bool checkRepeat = false)
{
// todo 澧炲姞璁惧锛屽鍔犲姛鑳借繘鍔熻兘鍒楄〃
if (filePath.StartsWith("FunctionData_"))
@@ -214,10 +218,21 @@
FileUtlis.Files.DeleteFile(filePath);
return;
}
-
-
+ if (checkRepeat == true)
+ {
+ //妫�娴嬮噸澶�
+ for (int i = 0; i < Functions.Count; i++)
+ {
+ if (Functions[i].deviceId == tempFunction.deviceId)
+ {
+ //鍏堢Щ闄ゆ帀鍐嶅姞
+ Functions.RemoveAt(i);
+ Functions.Add(tempFunction);
+ return;
+ }
+ }
+ }
Functions.Add(tempFunction);
-
}
if (filePath.StartsWith("SceneData_"))
{
diff --git a/HDL_ON/UI/UI0-Stan/Logic/HdlBluetoothAndroidLogic.cs b/HDL_ON/UI/UI0-Stan/Logic/HdlBluetoothAndroidLogic.cs
index 21594a8..b416038 100644
--- a/HDL_ON/UI/UI0-Stan/Logic/HdlBluetoothAndroidLogic.cs
+++ b/HDL_ON/UI/UI0-Stan/Logic/HdlBluetoothAndroidLogic.cs
@@ -119,17 +119,20 @@
/// <param name="FinishEvent">鎼滅储缁撴潫鐨勪簨浠�</param>
public void ScanBluetooth(int waitTime, Action<List<BluetoothInfo>> FinishEvent)
{
- //鍐嶆妫�娴嬫槸鍚﹁兘澶熸悳绱㈣摑鐗�
- this.CheckCanScanBluetooth((result) =>
+ HdlThreadLogic.Current.RunMain(() =>
{
- if (result == true)
+ //鍐嶆妫�娴嬫槸鍚﹁兘澶熸悳绱㈣摑鐗�
+ this.CheckCanScanBluetooth((result) =>
{
- HdlThreadLogic.Current.RunThread(() =>
+ if (result == true)
{
- //寮�濮嬫悳绱㈣摑鐗�
- this.DoScanBluetooth(waitTime, FinishEvent);
- });
- }
+ HdlThreadLogic.Current.RunThread(() =>
+ {
+ //寮�濮嬫悳绱㈣摑鐗�
+ this.DoScanBluetooth(waitTime, FinishEvent);
+ });
+ }
+ });
});
}
@@ -142,24 +145,36 @@
{
var listBluetoothInfo = new List<BluetoothInfo>();
- var adapter = Android.Bluetooth.BluetoothAdapter.DefaultAdapter;
- var scanner = adapter.BluetoothLeScanner;
+ BluetoothScanCallback scanCallback = null;
+ Android.Bluetooth.BluetoothAdapter adapter = null;
+ Android.Bluetooth.LE.BluetoothLeScanner scanner = null;
- var scanCallback = new BluetoothScanCallback();
- scanner.StartScan(null, new Android.Bluetooth.LE.ScanSettings.Builder().SetScanMode(Android.Bluetooth.LE.ScanMode.LowLatency).Build(), scanCallback);
+ //浠ラ槻涓囦竴,钃濈墮閮戒涪鍦ㄤ富绾跨▼涓繍琛�
+ HdlThreadLogic.Current.RunMain(() =>
+ {
+ adapter = Android.Bluetooth.BluetoothAdapter.DefaultAdapter;
+ scanner = adapter.BluetoothLeScanner;
+ scanCallback = new BluetoothScanCallback();
+ scanner.StartScan(null, new Android.Bluetooth.LE.ScanSettings.Builder().SetScanMode(Android.Bluetooth.LE.ScanMode.LowLatency).Build(), scanCallback);
+ }, ShowErrorMode.NO);
+
+ //绛夊緟
System.Threading.Thread.Sleep(waitTime * 1000);
- scanner.StopScan(scanCallback);
- adapter.Dispose();
-
- foreach (var data in scanCallback.listData)
+ HdlThreadLogic.Current.RunMain(() =>
{
- listBluetoothInfo.Add(data);
- }
- scanCallback.listData.Clear();
+ scanner.StopScan(scanCallback);
+ adapter.Dispose();
- FinishEvent?.Invoke(listBluetoothInfo);
+ foreach (var data in scanCallback.listData)
+ {
+ listBluetoothInfo.Add(data);
+ }
+ scanCallback.listData.Clear();
+
+ FinishEvent?.Invoke(listBluetoothInfo);
+ });
}
/// <summary>
@@ -231,24 +246,35 @@
/// <param name="connectEvent">鍥犱负闇�瑕佸鏂瑰弽棣�,鎵�浠ヤ娇鐢ㄥ洖璋�(閾炬帴缁撴灉 false:杩炴帴澶辫触 true:杩炴帴鎴愬姛)</param>
public void ContectBluetooth(BluetoothInfo bluetooth, Action<bool> connectEvent)
{
- try
+ HdlThreadLogic.Current.RunMain(() =>
{
- this.nowBlufiClient = new Blufi.Espressif.BlufiClient(Application.Activity, bluetooth.Device);
-
- //涓�涓洖璋冧簨浠�
- var callback = new InnerGattCallback();
- callback.ConnectionStateEvent += (div, newState) =>
+ try
{
- if (div == 1)
+ this.nowBlufiClient = new Blufi.Espressif.BlufiClient(Application.Activity, bluetooth.Device);
+
+ //涓�涓洖璋冧簨浠�
+ var callback = new InnerGattCallback();
+ callback.ConnectionStateEvent += (div, newState) =>
{
- if (newState == Android.Bluetooth.ProfileState.Connected)
+ if (div == 1)
{
- //閾炬帴寤虹珛鎴愬姛
- connectEvent?.Invoke(true);
- //鍙�氱煡涓�娆�
- connectEvent = null;
+ if (newState == Android.Bluetooth.ProfileState.Connected)
+ {
+ //閾炬帴寤虹珛鎴愬姛
+ connectEvent?.Invoke(true);
+ //鍙�氱煡涓�娆�
+ connectEvent = null;
+ }
+ else if (newState == Android.Bluetooth.ProfileState.Disconnected)
+ {
+ //鍏抽棴閾炬帴
+ this.DisContectBluetooth();
+ connectEvent?.Invoke(false);
+ //鍙�氱煡涓�娆�
+ connectEvent = null;
+ }
}
- else if (newState == Android.Bluetooth.ProfileState.Disconnected)
+ else if (div == -1)
{
//鍏抽棴閾炬帴
this.DisContectBluetooth();
@@ -256,50 +282,42 @@
//鍙�氱煡涓�娆�
connectEvent = null;
}
- }
- else if (div == -1)
- {
- //鍏抽棴閾炬帴
- this.DisContectBluetooth();
- connectEvent?.Invoke(false);
- //鍙�氱煡涓�娆�
- connectEvent = null;
- }
- };
- nowBlufiClient.SetGattCallback(callback);
+ };
+ nowBlufiClient.SetGattCallback(callback);
- //鍙﹀涓�涓洖璋冧簨浠�
- var blufiCall = new BlufiCallbackMain();
- blufiCall.StateEvent += (div, data) =>
+ //鍙﹀涓�涓洖璋冧簨浠�
+ var blufiCall = new BlufiCallbackMain();
+ blufiCall.StateEvent += (div, data) =>
+ {
+ //-1:寮傚父 1:姝e父 2:鍙戦�佹暟鎹垚鍔� 3:鍙戦�佹暟鎹け璐�
+ if (div == StatuEnum.A寮傚父)
+ {
+ //鍏抽棴閾炬帴
+ this.DisContectBluetooth();
+ connectEvent?.Invoke(false);
+ //鍙�氱煡涓�娆�
+ connectEvent = null;
+ }
+ else if (div == StatuEnum.A鍙戦�佹垚鍔� || div == StatuEnum.A鍙戦�佸け璐�)
+ {
+ sendStatuValue = div == StatuEnum.A鍙戦�佹垚鍔� ? 1 : 0;
+ }
+ else if (div == StatuEnum.A钃濈墮鍙嶉)
+ {
+ //钃濈墮杩斿洖鐨勭粨鏋�
+ this.ReceiveEvent?.Invoke(data);
+ }
+ };
+ nowBlufiClient.SetBlufiCallback(blufiCall);
+ //鎵ц閾炬帴
+ nowBlufiClient.Connect();
+ }
+ catch
{
- //-1:寮傚父 1:姝e父 2:鍙戦�佹暟鎹垚鍔� 3:鍙戦�佹暟鎹け璐�
- if (div == StatuEnum.A寮傚父)
- {
- //鍏抽棴閾炬帴
- this.DisContectBluetooth();
- connectEvent?.Invoke(false);
- //鍙�氱煡涓�娆�
- connectEvent = null;
- }
- else if (div == StatuEnum.A鍙戦�佹垚鍔� || div == StatuEnum.A鍙戦�佸け璐�)
- {
- sendStatuValue = div == StatuEnum.A鍙戦�佹垚鍔� ? 1 : 0;
- }
- else if (div == StatuEnum.A钃濈墮鍙嶉)
- {
- //钃濈墮杩斿洖鐨勭粨鏋�
- this.ReceiveEvent?.Invoke(data);
- }
- };
- nowBlufiClient.SetBlufiCallback(blufiCall);
- //鎵ц閾炬帴
- nowBlufiClient.Connect();
- }
- catch
- {
- connectEvent?.Invoke(false);
- connectEvent = null;
- }
+ connectEvent?.Invoke(false);
+ connectEvent = null;
+ }
+ });
}
/// <summary>
@@ -488,9 +506,14 @@
try
{
this.sendStatuValue = -1;
- //鍙戦�佹暟鎹�
- var byteData = System.Text.Encoding.UTF8.GetBytes(i_data);
- this.nowBlufiClient.PostCustomData(byteData);
+ HdlThreadLogic.Current.RunMain(() =>
+ {
+ //鍙戦�佹暟鎹�
+ var byteData = System.Text.Encoding.UTF8.GetBytes(i_data);
+ this.nowBlufiClient.PostCustomData(byteData);
+
+ }, ShowErrorMode.NO);
+
if (waiTime == 0) { return true; }
waiTime *= 5;
diff --git a/HDL_ON/UI/UI0-Stan/Logic/HdlBluetoothIOSLogic.cs b/HDL_ON/UI/UI0-Stan/Logic/HdlBluetoothIOSLogic.cs
index 9ecd110..8900504 100644
--- a/HDL_ON/UI/UI0-Stan/Logic/HdlBluetoothIOSLogic.cs
+++ b/HDL_ON/UI/UI0-Stan/Logic/HdlBluetoothIOSLogic.cs
@@ -151,17 +151,20 @@
/// <param name="FinishEvent">鎼滅储缁撴潫鐨勪簨浠�</param>
public void ScanBluetooth(int waitTime, Action<List<BluetoothInfo>> FinishEvent)
{
- //鍐嶆妫�娴嬫槸鍚﹁兘澶熸悳绱㈣摑鐗�
- this.CheckCanScanBluetooth((result) =>
+ HdlThreadLogic.Current.RunMain(() =>
{
- if (result == true)
+ //鍐嶆妫�娴嬫槸鍚﹁兘澶熸悳绱㈣摑鐗�
+ this.CheckCanScanBluetooth((result) =>
{
- HdlThreadLogic.Current.RunThread(() =>
+ if (result == true)
{
- //寮�濮嬫悳绱㈣摑鐗�
- this.DoScanBluetooth(waitTime, FinishEvent);
- });
- }
+ HdlThreadLogic.Current.RunThread(() =>
+ {
+ //寮�濮嬫悳绱㈣摑鐗�
+ this.DoScanBluetooth(waitTime, FinishEvent);
+ });
+ }
+ });
});
}
@@ -218,45 +221,48 @@
/// <param name="connectEvent">鍥犱负闇�瑕佸鏂瑰弽棣�,鎵�浠ヤ娇鐢ㄥ洖璋�(閾炬帴缁撴灉 false:杩炴帴澶辫触 true:杩炴帴鎴愬姛)</param>
public void ContectBluetooth(BluetoothInfo bluetooth, Action<bool> connectEvent)
{
- try
+ HdlThreadLogic.Current.RunMain(() =>
{
- //娣诲姞浜嬩欢
- ((BlueWifiDelegate)blufiClient.BlufiDelegate).StateEvent += (div, data) =>
+ try
{
- //-1:寮傚父 1:姝e父 2:鍙戦�佹暟鎹垚鍔� 3:鍙戦�佹暟鎹け璐�
- if (div == StatuEnum.A寮傚父)
+ //娣诲姞浜嬩欢
+ ((BlueWifiDelegate)blufiClient.BlufiDelegate).StateEvent += (div, data) =>
{
- //鍏抽棴閾炬帴
- this.DisContectBluetooth();
- connectEvent?.Invoke(false);
- //鍙�氱煡涓�娆�
- connectEvent = null;
- }
- else if (div == StatuEnum.A姝e父)
- {
- //閾炬帴寤虹珛鎴愬姛
- connectEvent?.Invoke(true);
- //鍙�氱煡涓�娆�
- connectEvent = null;
- }
- else if (div == StatuEnum.A鍙戦�佹垚鍔� || div == StatuEnum.A鍙戦�佸け璐�)
- {
- sendStatuValue = div == StatuEnum.A鍙戦�佹垚鍔� ? 1 : 0;
- }
- else if (div == StatuEnum.A钃濈墮鍙嶉)
- {
- //钃濈墮杩斿洖鐨勭粨鏋�
- this.ReceiveEvent?.Invoke(data);
- }
- };
- //鎵ц閾炬帴
- this.blufiClient.Connect(bluetooth.Address);
- }
- catch
- {
- connectEvent?.Invoke(false);
- connectEvent = null;
- }
+ //-1:寮傚父 1:姝e父 2:鍙戦�佹暟鎹垚鍔� 3:鍙戦�佹暟鎹け璐�
+ if (div == StatuEnum.A寮傚父)
+ {
+ //鍏抽棴閾炬帴
+ this.DisContectBluetooth();
+ connectEvent?.Invoke(false);
+ //鍙�氱煡涓�娆�
+ connectEvent = null;
+ }
+ else if (div == StatuEnum.A姝e父)
+ {
+ //閾炬帴寤虹珛鎴愬姛
+ connectEvent?.Invoke(true);
+ //鍙�氱煡涓�娆�
+ connectEvent = null;
+ }
+ else if (div == StatuEnum.A鍙戦�佹垚鍔� || div == StatuEnum.A鍙戦�佸け璐�)
+ {
+ sendStatuValue = div == StatuEnum.A鍙戦�佹垚鍔� ? 1 : 0;
+ }
+ else if (div == StatuEnum.A钃濈墮鍙嶉)
+ {
+ //钃濈墮杩斿洖鐨勭粨鏋�
+ this.ReceiveEvent?.Invoke(data);
+ }
+ };
+ //鎵ц閾炬帴
+ this.blufiClient.Connect(bluetooth.Address);
+ }
+ catch
+ {
+ connectEvent?.Invoke(false);
+ connectEvent = null;
+ }
+ });
}
#endregion
@@ -307,27 +313,17 @@
try
{
this.sendStatuValue = -1;
- if (waiTime == 0)
+ HdlThreadLogic.Current.RunMain(() =>
{
//鍙戦�佹暟鎹�
var data = new Foundation.NSData();
data = i_data;
blufiClient.PostCustomData(data);
- //鐩存帴杩斿洖鎴愬姛
- return true;
- }
- else
- {
- //鎴栬浠栫敤鐨勬槸绾跨▼鏉ヨ皟鐢�
- HdlThreadLogic.Current.RunMain(() =>
- {
- //鍙戦�佹暟鎹�
- var data = new Foundation.NSData();
- data = i_data;
- blufiClient.PostCustomData(data);
- }, ShowErrorMode.NO);
- }
+ }, ShowErrorMode.NO);
+
+ if (waiTime == 0) { return true; }
+
waiTime *= 5;
while (this.sendStatuValue == -1 && waiTime > 0)
{
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);
diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/AddDevice/AddMiniRemoteControlDirection4Page.cs b/HDL_ON/UI/UI2/4-PersonalCenter/AddDevice/AddMiniRemoteControlDirection4Page.cs
index de75ae9..6a725c7 100644
--- a/HDL_ON/UI/UI2/4-PersonalCenter/AddDevice/AddMiniRemoteControlDirection4Page.cs
+++ b/HDL_ON/UI/UI2/4-PersonalCenter/AddDevice/AddMiniRemoteControlDirection4Page.cs
@@ -317,13 +317,49 @@
/// <summary>
/// 鍒锋柊绾㈠瀹濅俊鎭�
/// </summary>
- private void RefreshMiniRemoteControlInfo()
+ /// <param name="successEvent">鎴愬姛鐨勫洖璋冧簨浠�</param>
+ private void RefreshMiniRemoteControlInfo(Action successEvent)
{
var pra = new Dictionary<string, object>();
pra.Add("homeId", Entity.DB_ResidenceData.Instance.CurrentRegion.RegionID);
+ pra.Add("spk", Entity.SPK.IrModule);
var requestJson = DAL.Server.HttpUtil.GetSignRequestJson(pra);
- DAL.Server.HttpUtil.RequestHttpsPostFroHome(DAL.Server.NewAPI.Api_Post_GetDevcieList, requestJson);
+ HdlThreadLogic.Current.RunThread(() =>
+ {
+ int count = 0;
+ while (this.Parent != null)
+ {
+ try
+ {
+ //瓒呰繃5娆¢兘涓嶆垚鍔�,鐪熶笉澶勭悊浜�
+ count++;
+ if (count > 5) { return; }
+
+ //鑾峰彇鍏ㄩ儴绾㈠瀹濆垪琛�
+ var result = DAL.Server.HttpUtil.RequestHttpsPostFroHome(DAL.Server.NewAPI.Api_Post_GetDevcieList, requestJson);
+ if (result == null || result.Code != DAL.Server.StateCode.SUCCESS)
+ {
+ System.Threading.Thread.Sleep(3000);
+ continue;
+ }
+ var listDevice = Newtonsoft.Json.JsonConvert.DeserializeObject<Entity.DevcieApiPack>(result.Data.ToString());
+ foreach (var newFunction in listDevice.list)
+ {
+ //娣诲姞鍒扮紦瀛樺綋涓�
+ newFunction.SaveFunctionFile();
+ Entity.FunctionList.List.IniFunctionList(newFunction.savePath, true);
+ }
+ //璋冪敤鍥炶皟鍑芥暟
+ successEvent?.Invoke();
+ return;
+ }
+ catch
+ {
+ System.Threading.Thread.Sleep(3000);
+ }
+ }
+ });
}
#endregion
@@ -343,15 +379,16 @@
return;
}
//鍒锋柊绾㈠瀹濅俊鎭�
- this.RefreshMiniRemoteControlInfo();
+ this.RefreshMiniRemoteControlInfo(() =>
+ {
+ //绉婚櫎杩欎釜浜嬩欢
+ HdlCloudReceiveLogic.Current.RemoveCloudReceiveEvent("AddMiniRemoteControlDirection4Page");
+ //鍋滄绾跨▼
+ this.timeoutThreadActivity = false;
- //鎺ユ敹鍒板氨绉婚櫎杩欎釜浜嬩欢
- HdlCloudReceiveLogic.Current.RemoveCloudReceiveEvent("AddMiniRemoteControlDirection4Page");
- //鍋滄绾跨▼
- this.timeoutThreadActivity = false;
-
- //娣诲姞璁惧鎴愬姛涔嬪悗,澶勭悊涓�浜涗笢瑗�
- this.DoSomethingAfterAddDeviceSuccess();
+ //娣诲姞璁惧鎴愬姛涔嬪悗,澶勭悊涓�浜涗笢瑗�
+ this.DoSomethingAfterAddDeviceSuccess();
+ });
}
/// <summary>
diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/PersonalCenterPage.cs b/HDL_ON/UI/UI2/4-PersonalCenter/PersonalCenterPage.cs
index 297cb8f..b066892 100644
--- a/HDL_ON/UI/UI2/4-PersonalCenter/PersonalCenterPage.cs
+++ b/HDL_ON/UI/UI2/4-PersonalCenter/PersonalCenterPage.cs
@@ -337,11 +337,6 @@
== false ? StringId.Administrators : StringId.Member
};
userTypeView.AddChidren(btnUserTypeName);
- btnUserTypeIcon.MouseUpEventHandler += (sender, e) =>
- {
- var form = new AddThirdPartyDeviceMenuListPage();
- form.AddForm("Evoyo");
- };
#endregion
#region 浣忓畢绠$悊
--
Gitblit v1.8.0