From 0ee75b88cfe03e46289de0de96e8ed4580c797d3 Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期二, 27 九月 2022 14:04:21 +0800
Subject: [PATCH] Merge branch 'Dev-Branch' into dev--wxr

---
 HDL_ON/DAL/ThirdPartySdk/HDLLinphone.cs |   87 ++++++++++++++++++++++++++++++-------------
 1 files changed, 61 insertions(+), 26 deletions(-)

diff --git a/HDL_ON/DAL/ThirdPartySdk/HDLLinphone.cs b/HDL_ON/DAL/ThirdPartySdk/HDLLinphone.cs
index 15aaa60..e652116 100644
--- a/HDL_ON/DAL/ThirdPartySdk/HDLLinphone.cs
+++ b/HDL_ON/DAL/ThirdPartySdk/HDLLinphone.cs
@@ -65,7 +65,7 @@
         /// false锛氭敹鍒版帹閫佸苟涓斿凡缁忔敹鍒皊ip鍛煎彨鎵嶈烦杞懠鍙〉闈�
         /// true锛氬師鐢熸敹鍒板懠鍙┈涓婅烦杞懠鍙〉闈紝涓嶇瓑寰呮帹閫佽繃鏉�
         /// </summary>
-        bool IsAutoJumpCallView = false;
+        bool IsAutoJumpCallView = true;
         /// <summary>
         /// 鏄惁鍒濆鍖栦簡SDK
         /// </summary>
@@ -108,25 +108,46 @@
 #endif
         }
 
-       
         /// <summary>
         /// 璁剧疆sip鐧诲綍璐﹀彿
         /// </summary>
         /// <param name="mHDLSipInfo"></param>
-        public void SetAccountAndLogin(HDLSipInfo mHDLSipInfo)
+        public void SetAccountAndLogin(HDLSipInfo mHDLSipInfo, string mInterphoneType)
         {
 
             this.currentHDLSipInfo = mHDLSipInfo;
 
-            if (mHDLSipInfo == null) return;
+            if (mHDLSipInfo == null) {
+                //new alert
+                return;
+            }
+
+
 
 #if __IOS__
+            //Shared.IOS.HDLLinphoneSDK.HDLLinPhoneSDK.Instance().Login("1003", "123456", "192.168.31.194:5060");
             //Shared.IOS.HDLLinphoneSDK.HDLLinPhoneSDK.Instance().Login("6666", "85521566", "116.62.26.215:5060");
             Shared.IOS.HDLLinphoneSDK.HDLLinPhoneSDK.Instance().Login(mHDLSipInfo.sipAccount, mHDLSipInfo.sipPasswd, mHDLSipInfo.realm);
 #else
-            HDLLinphoneKit.Instance.SetAccountAndLogin(mHDLSipInfo.sipAccount, mHDLSipInfo.sipPasswd, mHDLSipInfo.realm);
+            if (mInterphoneType == InterphoneType.FREEVIEW.ToString())
+            {
+                HDLLinphoneKit.Instance.SetAccountAndLogin(
+                    mHDLSipInfo.sipAccount,
+                    mHDLSipInfo.sipPasswd,
+                    "139.159.157.75:46000",
+                    HDLLinphoneKit.InterPhoneTypeFreeview
+                    );
+            }
+            else
+            {
+                HDLLinphoneKit.Instance.SetAccountAndLogin(
+                   mHDLSipInfo.sipAccount,
+                   mHDLSipInfo.sipPasswd,
+                   mHDLSipInfo.realm,
+                   HDLLinphoneKit.InterPhoneTypeHdl
+                   );
+            }
 #endif
-
         }
 
         /// <summary>
@@ -197,28 +218,30 @@
         /// 璇锋眰鏈嶅姟鍣ㄨ幏鍙栧綋鍓嶄綇瀹匰ip璐﹀彿淇℃伅骞跺垵濮嬪寲LinphoneSDK鍜岀櫥褰�
         /// </summary>
         /// <param name="homeId"></param>
-        public void GetHDLSipInfoAndInitSDK(string homeId, bool clearCallInfo = true)
+        public void GetHDLSipInfoAndInitSDK(HDLCallVideoInfo mHDLCallVideoInfo, bool clearCallInfo = true)
         {
             try
             {
-
-
                 //鍏堟竻绌哄懠鍙拰鐩戣璁惧淇℃伅
                 if (clearCallInfo)
                 {
                     InitCallInfo(null);
                 }
 
-                HDLSipInfo mHDLSipInfo = GetHDLSipInfo(homeId);
+                HDLSipInfo mHDLSipInfo = GetHDLSipInfo(mHDLCallVideoInfo.HomeId);
                 if (mHDLSipInfo != null)
                 {
                     Application.RunOnMainThread(() =>
                     {
                         InitLinphone();
-                        mHDLSipInfo.homeId = homeId;
-                        SetAccountAndLogin(mHDLSipInfo);
+                        mHDLSipInfo.homeId = mHDLCallVideoInfo.HomeId;
+                        SetAccountAndLogin(mHDLSipInfo, mHDLCallVideoInfo.InterphoneType);
                         Utlis.WriteLine("CALL 鑾峰彇SIP璐﹀彿鎴愬姛锛�" + mHDLSipInfo.sipAccount);
                     });
+                }
+                else
+                {
+                    new Alert("", $"鑾峰彇Sip璐﹀彿淇℃伅澶辫触.", "纭畾").Show();
                 }
             }
             catch { }
@@ -382,7 +405,7 @@
         /// 璺宠浆鐩戞帶椤甸潰
         /// </summary>
         /// <param name="mESVideoInfo"></param>
-        public void ShowESVideoMonitor(ESVideoInfo mESVideoInfo)
+        public void ShowESVideoMonitor(ESVideoInfo mESVideoInfo,string mInterphoneType)
         {
             InitLinphone();
             //sip璐﹀彿涓虹┖
@@ -396,7 +419,7 @@
             mHDLCallVideoInfo.HomeId = mESVideoInfo.HomeId;
             mHDLCallVideoInfo.DeviceId = mESVideoInfo.Lc_DeviceId;
             mHDLCallVideoInfo.DeviceName = mESVideoInfo.DeviceName;
-            mHDLCallVideoInfo.InterphoneType = InterphoneType.HDL.ToString();
+            mHDLCallVideoInfo.InterphoneType = mInterphoneType;
             mHDLCallVideoInfo.DeviceSipAccount = mESVideoInfo.deviceSipAccount;//鐩戣涓诲姩鍛煎彨闂ㄥ彛鏈烘椂鐢ㄥ埌
             InitCallInfo(mHDLCallVideoInfo);
 
@@ -422,7 +445,7 @@
         /// 鏀跺埌鎺ㄩ�侊紝鍚庡垽鏂懠鍙綇瀹呮槸鍚︿负褰撳墠浣忓畢锛屼笉鏄殑璇濋噸鏂拌幏鍙朣IP璐﹀彿骞剁櫥褰�
         /// </summary>
         /// <param name="mESVideoInfo"></param>
-        public void ShowESVideoIntercom(ESVideoInfo mESVideoInfo)
+        public void ShowESVideoIntercom(ESVideoInfo mESVideoInfo,string mInterphoneType)
         {
             InitLinphone();
 
@@ -431,7 +454,7 @@
             mHDLCallVideoInfo.HomeId = mESVideoInfo.HomeId;
             mHDLCallVideoInfo.DeviceId = mESVideoInfo.Lc_DeviceId;
             mHDLCallVideoInfo.DeviceName = mESVideoInfo.DeviceName;
-            mHDLCallVideoInfo.InterphoneType = InterphoneType.HDL.ToString();
+            mHDLCallVideoInfo.InterphoneType = mInterphoneType;
             mHDLCallVideoInfo.DeviceSipAccount = mESVideoInfo.deviceSipAccount;
             mHDLCallVideoInfo.spk = mESVideoInfo.spk;
             InitCallInfo(mHDLCallVideoInfo);
@@ -449,7 +472,7 @@
                 Utlis.WriteLine("CALL 鏀跺埌鎺ㄩ�� 鍏朵粬浣忓畢锛岄噸鏂拌幏鍙栧懠鍙綇瀹呯殑SIP璐﹀彿骞剁櫥褰�");
                 new Thread(() =>
                 {
-                    GetHDLSipInfoAndInitSDK(mESVideoInfo.HomeId, false);
+                    GetHDLSipInfoAndInitSDK(mHDLCallVideoInfo, false);
                 })
                 { IsBackground = false }.Start();
 
@@ -468,9 +491,20 @@
         {
             if (mHDLCallVideoInfo.spk == "door.gate")
             {
+#if __IOS__
                 //鑷爺鍙瀵硅
                 HDLLinPhoneSDK.Instance().GotoHDLSRLinphoneIntercomVC(mHDLCallVideoInfo.DeviceName,mHDLCallVideoInfo.DeviceSipAccount);
-           }
+#else
+                var intent = new Intent(Shared.Application.Activity, typeof(Com.Hdl.Hdllinphonesdk.Activity.HDLLinphoneReverseCallActivity));  
+                if (mHDLCallVideoInfo != null)
+                {
+                    //intent.PutExtra(HDLLinphoneKit.KeyTitleName, mHDLCallVideoInfo.DeviceName);
+                    intent.PutExtra("lpTitleName", mHDLCallVideoInfo.DeviceName);
+                    intent.PutExtra("lpSipAccount", mHDLCallVideoInfo.DeviceSipAccount);
+                }
+                Shared.Application.Activity.StartActivity(intent);
+#endif
+            }
             else {
                 //鐙勮�愬厠鍙瀵硅
                 //濡傛灉寮�鍚簡鑷姩璺宠浆鏂规锛屽垯鏃犻渶缁х画涓嬮潰澶勭悊銆佹棤闇�鎵嬪姩璺宠浆
@@ -518,7 +552,8 @@
             var intent = new Intent(Shared.Application.Activity, typeof(Com.Hdl.Hdllinphonesdk.Activity.HDLLinphoneIntercomActivity));
             if (mHDLCallVideoInfo != null)
             {
-                intent.PutExtra(HDLLinphoneKit.KeyTitleName, mHDLCallVideoInfo.DeviceName);
+                //intent.PutExtra(HDLLinphoneKit.KeyTitleName, mHDLCallVideoInfo.DeviceName);
+                intent.PutExtra(HDLLinphoneKit.KeyTitleName, mHDLCallVideoInfo.CallId);
             }
             Shared.Application.Activity.StartActivity(intent);
 #endif
@@ -612,10 +647,10 @@
             return checkIncomingCallThread == null || checkIncomingCallThread.ThreadState != ThreadState.Running;
         }
 
-        #endregion
+#endregion
 
 
-        #region 鈻�  --  Android鐩稿叧鎿嶄綔_______________________________
+#region 鈻�  --  Android鐩稿叧鎿嶄綔_______________________________
 
 #if __Android__
 
@@ -710,13 +745,13 @@
         }
 
 #endif
-        #endregion
+#endregion
 
-        #region 鈻�  --  iOS鐩稿叧鎿嶄綔_______________________________
+#region 鈻�  --  iOS鐩稿叧鎿嶄綔_______________________________
 
 #if __IOS__
 
-        #region OnHDLLinphoneCallDelegate
+#region OnHDLLinphoneCallDelegate
         /// <summary>
         /// 
         /// </summary>
@@ -793,10 +828,10 @@
 
         }
 
-        #endregion
+#endregion
 #endif
 
-        #endregion
+#endregion
 
     }
 

--
Gitblit v1.8.0