From 58927c8f09e529c1c456657e9ae1a01796588a59 Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期四, 11 五月 2023 16:45:06 +0800
Subject: [PATCH] 优化安防数据加载
---
HDL-ON_Android/HDL-ON_Android.csproj | 1
HDL-ON_Android/Other/SmsReceiver.cs | 47 +++++++++++++++
HDL_ON/Common/ApiUtlis.cs | 80 ++++++++++++--------------
HDL_ON/Entity/FunctionList.cs | 30 +++++-----
4 files changed, 99 insertions(+), 59 deletions(-)
diff --git a/HDL-ON_Android/HDL-ON_Android.csproj b/HDL-ON_Android/HDL-ON_Android.csproj
index e5f0636..367a5c3 100644
--- a/HDL-ON_Android/HDL-ON_Android.csproj
+++ b/HDL-ON_Android/HDL-ON_Android.csproj
@@ -226,6 +226,7 @@
<Compile Include="Zxing\CustomCaptureActivity.cs" />
<Compile Include="Zxing\ScanActivity.cs" />
<Compile Include="LeChengVideo\LeTest.cs" />
+ <Compile Include="Other\SmsReceiver.cs" />
</ItemGroup>
<ItemGroup>
<AndroidAsset Include="Assets\agconnect-services.json" />
diff --git a/HDL-ON_Android/Other/SmsReceiver.cs b/HDL-ON_Android/Other/SmsReceiver.cs
new file mode 100644
index 0000000..cae40aa
--- /dev/null
+++ b/HDL-ON_Android/Other/SmsReceiver.cs
@@ -0,0 +1,47 @@
+锘縰sing System;
+using System.Text;
+using Android.App;
+using Android.Content;
+using Android.Provider;
+using Android.Telephony;
+
+namespace HDL_ON_Android.Other
+{
+ [BroadcastReceiver(Enabled = true, Label = "SMS Receiver")]
+ [IntentFilter(new[] { "android.provider.Telephony.SMS_RECEIVED" })]
+ public class SmsReceiver : BroadcastReceiver
+ {
+ public override void OnReceive(Context context, Intent intent)
+ {
+ if (intent.Action != Telephony.Sms.Intents.SmsReceivedAction)
+ return;
+
+ var bundle = intent.Extras;
+ if (bundle == null)
+ return;
+
+ try
+ {
+ var pdus = (Java.Lang.Object[])bundle.Get("pdus");
+ if (pdus == null)
+ return;
+
+ var msgs = new SmsMessage[pdus.Length];
+ var sb = new StringBuilder();
+ for (var i = 0; i < msgs.Length; i++)
+ {
+ msgs[i] = SmsMessage.CreateFromPdu((byte[])pdus[i]);
+ sb.Append(msgs[i].MessageBody);
+ }
+
+ // 澶勭悊鎺ユ敹鍒扮殑鐭俊鍐呭
+ string message = sb.ToString();
+ // TODO: 澶勭悊鎺ユ敹鍒扮殑鐭俊鍐呭
+ }
+ catch (Exception ex)
+ {
+ Console.WriteLine("澶勭悊鎺ユ敹鍒扮殑鐭俊鍐呭寮傚父" + ex.Message);
+ }
+ }
+ }
+}
diff --git a/HDL_ON/Common/ApiUtlis.cs b/HDL_ON/Common/ApiUtlis.cs
index 9661856..cf3249d 100644
--- a/HDL_ON/Common/ApiUtlis.cs
+++ b/HDL_ON/Common/ApiUtlis.cs
@@ -173,7 +173,7 @@
if (deviceResult.Code == StateCode.SUCCESS)
{
FunctionList.List.ClearDatas();
- MainPage.Log($"============璁惧============寮�濮�" + FunctionList.List.Functions.Count);
+ //MainPage.Log($"============璁惧============寮�濮�" + FunctionList.List.Functions.Count);
//MainPage.Log($"璇诲彇璁惧淇℃伅鎴愬姛");
//MainPage.Log($"sid鍒楄〃鑾峰彇====" + deviceResult.Data.ToString());
var deviceList = JsonConvert.DeserializeObject<DevcieApiPack>(deviceResult.Data.ToString());
@@ -226,13 +226,13 @@
}
}
//澶勭悊鍓╀笅鐨勬柊澧炲姛鑳�
- int iiii = 0;
+ //int iiii = 0;
foreach (var newFunction in deviceList.list)
{
newFunction.AssembleStatus();
newFunction.SaveFunctionFile();
FunctionList.List.IniFunctionList(newFunction.savePath,true);
- MainPage.Log($"============璁惧============{iiii++}");
+ //MainPage.Log($"============璁惧============{iiii++}");
}
@@ -351,9 +351,6 @@
}
-#if DEBUG
- DB_ResidenceData.Instance.HomeGateway.isSupportGroupControl = true;
-#endif
if (DB_ResidenceData.Instance.HomeGateway.isSupportGroupControl)
{
var pack = Ins.HttpRequest.GetGroupControlList();
@@ -416,11 +413,7 @@
}
}
}
-
-
- //})
- //{ IsBackground = true }.Start();
-
+ //======================鍦烘櫙====================
try
{
complateScene = false;
@@ -481,21 +474,17 @@
{
complateScene = true;
}
+
+ //======================瀹夐槻====================
+ GetSecurityList();
})
{ IsBackground = true }.Start();
//===================璇诲彇閫昏緫鍒楄〃==========================
Logic.LogicList.Clear();//涓婚〉涓嬫媺寮哄埗鍒锋柊鑷姩鍖栧垪琛�
- //UI.UI2.Intelligence.Automation.MainView.GetLogicList();
-
-
- //======================瀹夐槻====================
- GetSecurityList();
//======================娉ㄥ唽鎺ㄩ��====================
httpRequest.RegisteredPush();
-
-
}
catch (Exception ex)
{
@@ -593,40 +582,43 @@
/// </summary>
public void GetSecurityList()
{
- var pack = Ins.HttpRequest.GetSecurityList();
- if (pack.Code == StateCode.SUCCESS)
+ lock (FunctionList.List.securities)
{
- var packList = JsonConvert.DeserializeObject<List<SecurityAlarm>>(pack.Data.ToString());
- var sidList = new List<string>();
- foreach (var function in packList)
+ var pack = Ins.HttpRequest.GetSecurityList();
+ if (pack.Code == StateCode.SUCCESS)
{
- sidList.Add(function.sid);
- }
- var infoListPack = Ins.httpRequest.GetSecurityInfo(sidList, new List<string>());
- var infoList = JsonConvert.DeserializeObject<List<SecurityAlarm>>(infoListPack.Data.ToString());
- if (infoList != null)
- {
- var filePathList = FileUtlis.Files.ReadFiles().FindAll((obj) => obj.StartsWith("SecurityData_"));
- if (filePathList != null)
+ var packList = JsonConvert.DeserializeObject<List<SecurityAlarm>>(pack.Data.ToString());
+ Console.WriteLine("瀹夐槻鎬绘暟锛�" + packList.Count);
+ var sidList = new List<string>();
+ foreach (var function in packList)
{
- foreach (var file in filePathList)
+ sidList.Add(function.sid);
+ }
+ var infoListPack = Ins.httpRequest.GetSecurityInfo(sidList, new List<string>());
+ var infoList = JsonConvert.DeserializeObject<List<SecurityAlarm>>(infoListPack.Data.ToString());
+ if (infoList != null)
+ {
+ var filePathList = FileUtlis.Files.ReadFiles().FindAll((obj) => obj.StartsWith("SecurityData_"));
+ if (filePathList != null)
{
- FileUtlis.Files.DeleteFile(file);
+ foreach (var file in filePathList)
+ {
+ FileUtlis.Files.DeleteFile(file);
+ }
+ }
+ FunctionList.List.securities.Clear();
+ foreach (var function in infoList)
+ {
+ function.SaveFile();
+ FunctionList.List.IniFunctionList(function.savePath, true);
}
}
- FunctionList.List.securities.Clear();
- foreach (var function in infoList)
- {
- function.SaveFile();
- FunctionList.List.IniFunctionList(function.savePath, true);
- }
}
- }
- else
- {
- MainPage.Log($"璇诲彇瀹夐槻鍒楄〃澶辫触:Code:{pack.Code}; Msg:{pack.message}");
+ else
+ {
+ MainPage.Log($"璇诲彇瀹夐槻鍒楄〃澶辫触:Code:{pack.Code}; Msg:{pack.message}");
+ }
}
-
}
/// <summary>
diff --git a/HDL_ON/Entity/FunctionList.cs b/HDL_ON/Entity/FunctionList.cs
index aecf05a..bb14283 100644
--- a/HDL_ON/Entity/FunctionList.cs
+++ b/HDL_ON/Entity/FunctionList.cs
@@ -14,20 +14,20 @@
{
static FunctionList _FunctionList;
- public static void ClearData()
- {
- try
- {
- _FunctionList._IpCamImou = null;
- _FunctionList.ClearDatas();
- _FunctionList = null;
- }
- catch (Exception ex)
- {
- MainPage.Log($"娓呯悊FunctionList寮傚父:{ex.Message}");
- _FunctionList = null;
- }
- }
+ //public static void ClearData()
+ //{
+ // try
+ // {
+ // _FunctionList._IpCamImou = null;
+ // _FunctionList.ClearDatas();
+ // _FunctionList = null;
+ // }
+ // catch (Exception ex)
+ // {
+ // MainPage.Log($"娓呯悊FunctionList寮傚父:{ex.Message}");
+ // _FunctionList = null;
+ // }
+ //}
public static FunctionList List
{
@@ -384,7 +384,7 @@
var temp = Newtonsoft.Json.JsonConvert.DeserializeObject<SecurityAlarm>(dataString);
if (temp == null)
{
- MainPage.Log("null");
+ MainPage.Log("SecurityData_null");
FileUtlis.Files.DeleteFile(filePath);
return;
}
--
Gitblit v1.8.0