From b562a582ac3a288193e6e4f57c5eff8a344305a4 Mon Sep 17 00:00:00 2001
From: wxr <wxr@hdlchina.com.cn>
Date: 星期五, 27 九月 2024 13:52:17 +0800
Subject: [PATCH] Update AndroidManifest.xml
---
HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/CommonMethod.cs | 234 +++++++++++++++++++++++++++++++++++++++++++---------------
1 files changed, 172 insertions(+), 62 deletions(-)
diff --git a/HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/CommonMethod.cs b/HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/CommonMethod.cs
index 1d9736b..e9393fd 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/CommonMethod.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/CommonMethod.cs
@@ -2,7 +2,9 @@
using HDL_ON.Entity;
using System.Collections.Generic;
using Shared;
+using HDL_ON.DAL.Server;
#if __IOS__
+using Foundation;
#else
using Com.Videogo.Hdl;
#endif
@@ -14,6 +16,7 @@
/// </summary>
public class CommonMethod
{
+
private Loading loading;
/// <summary>
/// 璁板綍褰撳墠鐣岄潰绱㈠紩鍊�
@@ -49,34 +52,46 @@
this.InitializationAndroidData((isEzChildAccessToken) =>
{
-
- this.MainThread(() =>
+ this.SunThread(() =>
{
-#if __IOS__
- //璺宠浆娣诲姞钀ょ煶璁惧
- ezsdkDelegate = new IosIHdlInterface();
- ezsdkDelegate.mAction += (serials) =>
+ var list = this.GetVideoDoorLockLockModelsList("notAllowedConfigNetworkModels");
+
+ this.MainThread(() =>
{
- this.GetYingshiDeviceList(serials);
- };
- EZSDK.IOS.EZSDK.SharedInstance().Delegate = ezsdkDelegate;
- EZSDK.IOS.EZSDK.SharedInstance().AddEzvizMonitorWithDeviceType(spk);
+#if __IOS__
+ //璺宠浆娣诲姞钀ょ煶璁惧
+ ezsdkDelegate = new IosIHdlInterface();
+ ezsdkDelegate.mAction += (serials) =>
+ {
+ this.GetYingshiDeviceList(serials);
+ };
+ EZSDK.IOS.EZSDK.SharedInstance().Delegate = ezsdkDelegate;
+ NSObject[] nSObject = new NSObject[list.Count];
+ for (int i = 0; i < list.Count; i++)
+ {
+ string strValue = list[i];
+ nSObject[i] = new NSString(strValue);
+ }
+ EZSDK.IOS.EZSDK.SharedInstance().ConnectTipModels = nSObject;
+ EZSDK.IOS.EZSDK.SharedInstance().AddEzvizMonitorWithDeviceType(spk);
#else
- HDLEzvizSdk.Instance.JumpToEZScanActivity(Application.Activity,spk);
- HDLEzvizSdk.SetAddCallback(new AndroidIHdlInterface((isBool, serials) =>
- {
- if (isBool)
+ HDLEzvizSdk.Instance.JumpToEZScanActivity(Application.Activity, spk,list);
+ HDLEzvizSdk.SetAddCallback(new
+ AndroidIHdlInterface((isBool, serials) =>
{
- this.GetYingshiDeviceList(serials);
- }
+ if (isBool)
+ {
+ this.GetYingshiDeviceList(serials);
+ }
- }));
+ }));
#endif
+ });
+
+
});
-
-
});
@@ -115,11 +130,12 @@
/// <param name="isDialog">鏄惁闇�瑕佸脊妗�</param>
public void SkipRTVActivity(string deviceSerial, string deviceId, string spk, bool isDialog)
{
-
+ this.Loading.Start();
this.InitializationAndroidData((isEzChildAccessToken) =>
{
this.MainThread(() =>
{
+ this.Loading.Hide();
if (isDialog)
{
Video.View.ShowDialog.Currnet.ClickBox(Language.StringByID(StringId.laizimenlinghujiao), (dialog) =>
@@ -151,7 +167,27 @@
EZSDK.IOS.EZSDK.SharedInstance().PlayWithDeviceSerial(deviceSerial, deviceId, spk);
#else
- HDLEzvizSdk.Instance.JumpToEZRealPlayActivity(Application.Activity,deviceId,deviceSerial,spk);
+ HDLEzvizSdk.Instance.JumpToEZRealPlayActivity(Application.Activity,deviceId,deviceSerial,spk,"");
+#endif
+
+
+ }
+ /// <summary>
+ /// 鎵撳紑瀹炴椂瑙嗛鐢婚潰
+ /// </summary>
+ /// <param name="deviceSerial">璁惧搴忓垪鍙�</param>
+ /// <param name="deviceId">璁惧id(浜戠涓奷eviceId)</param>
+ /// <param name="spk">璁惧spk(浜戦泙涓婂畾涔夊ソ鐨�)</param>
+ /// <param name="msgId">娑堟伅id</param>
+ private void SkipRTVActivity(string deviceSerial, string deviceId, string spk, string msgId)
+ {
+
+#if __IOS__
+ //鎵撳紑钀ょ煶瑙嗛鐣岄潰
+ EZSDK.IOS.EZSDK.SharedInstance().PlayWithDeviceSerial(deviceSerial, deviceId, spk, msgId);
+
+#else
+ HDLEzvizSdk.Instance.JumpToEZRealPlayActivity(Application.Activity,deviceId,deviceSerial,spk,msgId);
#endif
@@ -202,6 +238,7 @@
public void InitializationAndroidData(Action<bool> action)
{
bool isBool = true;
+ //this.Loading.Start();
this.SunThread(() =>
{
try
@@ -214,14 +251,21 @@
{
//Token
isBool = false;
- this.ShowTip("鍏堣幏鍙栬悿鐭充簯瀛愯处鍙穞oken澶辫触銆�");
+ //this.ShowTip("鑾峰彇钀ょ煶浜戝瓙璐﹀彿token澶辫触銆�");
return;
}
+
+ string appKey = "1aa98a90489b4838b966b57018b4b04b";//姝e紡鏈嶅姟鍣�
+ //if (OnAppConfig.Instance.RequestHttpsHost == "https://test-gz.hdlcontrol.com")
+ //{
+ // appKey = "941b1b72b6294998acfd36c14931b675";//鐢ㄥ湪娴嬭瘯鏈嶅姟鍣ㄦ帹閫佺殑
+ //}
+
#if __IOS__
//iOS
//鍒濆鍖栬悿鐭充簯SDK锛屼腑鏂囧浗鍐卥ey銆佽嫳鏂囨捣澶杒ey 寮�鍙戣�呰处鍙蜂娇鐢ㄥ簲鐢ㄥ寘鍚嶇敵璇风殑APPKEY锛屼笉鍚屽寘鍚嶅簲鐢ㄩ渶閰嶇疆涓嶅悓鐨凙PPKEY
- EZSDK.IOS.EZSDK.SharedInstance().InitLibWithAppKey("1aa98a90489b4838b966b57018b4b04b", "1aa98a90489b4838b966b57018b4b04b");
+ EZSDK.IOS.EZSDK.SharedInstance().InitLibWithAppKey(appKey, appKey);
//1.璁剧疆鎵�闇�娌充笢鐨凙ccessToken鍜孯efreshToken銆佸煙鍚嶅湴鍧�
EZSDK.IOS.EZSDK.SharedInstance().SetHDlAccessToken(UserInfo.Current.LoginTokenString, UserInfo.Current.RefreshToken);
EZSDK.IOS.EZSDK.SharedInstance().SetRequestHttpsHostAndPlatform(OnAppConfig.Instance.RequestHttpsHost, 1, DB_ResidenceData.Instance.CurrentRegion.id);
@@ -233,7 +277,9 @@
//info.de
//EZSDK.IOS.EZSDK.Play(info);
#else
- HDLEzvizSdk.Instance.Init(Application.Activity.Application, ezChildAccessToken, UserInfo.Current.LoginTokenString, UserInfo.Current.RefreshToken, OnAppConfig.Instance.RequestHttpsHost, "1aa98a90489b4838b966b57018b4b04b", 1, DB_ResidenceData.Instance.CurrentRegion.id);
+
+ HDLEzvizSdk.Instance.Init(Application.Activity.Application, ezChildAccessToken, UserInfo.Current.LoginTokenString, UserInfo.Current.RefreshToken, OnAppConfig.Instance.RequestHttpsHost, appKey, 1, DB_ResidenceData.Instance.CurrentRegion.id,
+ HttpUtil.APP_KEY, HttpUtil.SECRET_KEY);
#endif
@@ -248,6 +294,7 @@
{
this.MainThread(() =>
{
+ //this.Loading.Hide();
action?.Invoke(isBool);
});
}
@@ -265,6 +312,7 @@
#if __IOS__
#else
HDLEzvizSdk.Instance.SetHomeId(home.id);
+
#endif
}
@@ -274,11 +322,96 @@
/// 鑾峰彇銆愰棬閿佸瀷鍙枫�戝垪琛�
/// </summary>
/// <returns>杩斿洖缁撴灉涓嶄細涓簄ull</returns>
- public List<string> GetVideoDoorLockLockModelsList()
+ public List<string> GetVideoDoorLockLockModelsList(string mode = "lockModels")
{
- return VideDoorLockSend.Current.GetVideoDoorLockLockModelsList();
+ var lockModels = VideDoorLockSend.Current.GetVideoDoorLockLockModelsList();
+ if (mode == "lockModels")
+ {
+ return lockModels.lockModels;
+ }
+ else
+ {
+ return lockModels.notAllowedConfigNetworkModels;
+ }
}
+ /// <summary>
+ /// 闂ㄩ攣鎺ㄩ��
+ /// </summary>
+ /// <param name="pushMessageType"></param>
+ /// <param name="jPushMessageInfo"></param>
+ public void DoorLockPush(JPushMessageInfo jpushMessageInfo)
+ {
+ this.MainThread(() =>
+ {
+ if (string.IsNullOrEmpty(jpushMessageInfo.expantContent)) return;
+ try
+ {
+ //{ "deviceSid":"J92513662","type":"opendoormsg","extDevId":"J92513662","deviceId":"1641010144999936001","spk":"security.door.ezviz"}
+ var expantContent = Newtonsoft.Json.JsonConvert.DeserializeObject<ExpantContent>(jpushMessageInfo.expantContent);
+ if (expantContent == null)
+ {
+ return;
+ }
+ if (expantContent.spk == null)
+ {
+ return;
+ }
+ if ( expantContent.spk != SPK.VideoDoorLock)
+ {
+ return;
+ }
+ if (jpushMessageInfo.messageType.Contains(PushMessageType.DOOR_BELL.ToString()))
+ {
+ ///鎵撳紑瑙嗛闂ㄩ攣
+ string currentTimeStr = Utlis.GetTimestamp(); // 褰撳墠鏃堕棿
+ if (string.IsNullOrEmpty(expantContent.currentTime) && string.IsNullOrEmpty(currentTimeStr) && (long.Parse(currentTimeStr) - long.Parse(expantContent.currentTime)) > 30000)
+ { // 瓒呮椂30s
+ this.SkipRTVActivity(expantContent.devSerial, expantContent.deviceId, expantContent.spk, true);
+ }
+ else
+ {
+ this.SkipRTVActivity(expantContent.devSerial, expantContent.deviceId, expantContent.spk, expantContent.msgId);
+ }
+ }
+ else if (jpushMessageInfo.messageType.Contains(PushMessageType.Alarm.ToString()))
+ {
+ //浣庣數閲忔帹閫�
+ this.UpdateDoorLockState(PushMessageType.Alarm);
+ }
+ else if (jpushMessageInfo.messageType.Contains(PushMessageType.Prompt.ToString()))
+ {
+ //寮�闂ㄦ帹閫�
+ this.UpdateDoorLockState(PushMessageType.Prompt);
+ }
+ }catch(Exception ex)
+ {
+
+ }
+ });
+
+ }
+ /// <summary>
+ /// 鏇存柊寮�閿佸浘鏍囧拰鐢垫睜鐘舵��
+ /// </summary>
+ private void UpdateDoorLockState(PushMessageType pushMessageType)
+ {
+ int childrenCount = MainPage.BasePageView.ChildrenCount - 1;
+ for (int i = childrenCount; childrenCount > i; i--)
+ {
+ View view = MainPage.BasePageView.GetChildren(i);
+ if (view is VideoDoorLockPage)
+ {
+ VideoDoorLockPage videoDoorLockPage = (VideoDoorLockPage)view;
+ if (videoDoorLockPage != null)
+ {
+ videoDoorLockPage.UpdateState(pushMessageType);
+ }
+
+ }
+ }
+
+ }
/// <summary>
/// 鑾峰彇钀ょ煶瑙嗛銆愰棬閿併�戝垪琛�
/// </summary>
@@ -292,37 +425,6 @@
#endif
return list;
}
-
- /// <summary>
- /// 鏇存柊寮�閿佸浘鏍囧拰鐢垫睜鐘舵��
- /// </summary>
- public void UpdateDoorLockState(PushMessageType pushMessageType, string homeId, string spk, string stateContent)
- {
- if (spk != SPK.VideoDoorLock)
- {
- return;
- }
- this.MainThread(() =>
- {
- int childrenCount = MainPage.BasePageView.ChildrenCount - 1;
- for (int i = childrenCount; childrenCount > i; i--)
- {
- View view = MainPage.BasePageView.GetChildren(i);
- if (view is VideoDoorLockPage)
- {
- VideoDoorLockPage videoDoorLockPage = (VideoDoorLockPage)view;
- if (videoDoorLockPage != null)
- {
- videoDoorLockPage.UpdateState(pushMessageType);
- }
-
- }
- }
- });
-
- }
-
-
#region --------- 鍔熻兘鏂囦欢淇濆瓨锛屽垹闄� --------
/// <summary>
/// 淇濆瓨鏈湴鏂囦欢
@@ -354,13 +456,14 @@
/// </summary>
public string GetVideoDoorLockIcon(Comerom comerom)
{
+
if (comerom == Comerom.collect)
{
- return "FunctionIcon/DoorLock/VideoDoorLockOpen.png";
+ return "FunctionIcon/DoorLock/VideoDoorLockOpen1.png";
}
else
{
- return "FunctionIcon/DoorLock/VideoDoorlockClose.png";
+ return "FunctionIcon/DoorLock/VideoDoorlockClose1.png";
}
}
@@ -482,6 +585,8 @@
new PublicAssmebly().TipMsgAutoClose(msg, false, time * 1000);
});
}
+
+
#endregion
/// <summary>
/// 寮规绫诲瀷
@@ -501,12 +606,13 @@
collect,//鏀惰棌
room,//鎴块棿
push,//鎺ㄩ��
+ sanfan,//娣诲姞绗笁鏂硅澶�
}
#if __IOS__
IosIHdlInterface ezsdkDelegate;
/// <summary>
- /// 涓撻棬瀹氫箟缁橧os鍥炶皟鐢ㄧ潃,娌℃湁鐗规畩鍚箟
+ /// 涓撻棬瀹氫箟缁橧os鍥炶皟鐢�,娌℃湁鐗规畩鍚箟
/// </summary>
public class IosIHdlInterface : EZSDK.IOS.EZSDKDelegate
{
@@ -527,12 +633,13 @@
}
#else
/// <summary>
- /// 涓撻棬瀹氫箟缁欏畨鍗撳洖璋冪敤鐫�,娌℃湁鐗规畩鍚箟
+ /// 涓撻棬瀹氫箟缁欏畨鍗撳洖璋冪敤,娌℃湁鐗规畩鍚箟
/// </summary>
public class AndroidIHdlInterface : Java.Lang.Object, IHdlInterface
{
Action<bool,string> mAction;
+ Action<string> mDoorlockAnswer;
public AndroidIHdlInterface(Action<bool,string> action)
{
mAction = action;
@@ -547,7 +654,10 @@
mAction?.Invoke(p0,p1);
}
-
+ public void DoorlockAnswer(string p0)
+ {
+ mDoorlockAnswer?.Invoke(p0);
+ }
}
#endif
--
Gitblit v1.8.0