wxr
2022-05-18 46719b11d11b6544b57cf966cf498fbedf9b613e
HDL_ON/DAL/ThirdPartySdk/HDLLinphone.cs
@@ -57,6 +57,10 @@
        /// </summary>
        public bool IsEnable = false;
        /// <summary>
        /// 当前视频通话是否为自研
        /// </summary>
        public bool IsSelfResearch = false;
        /// <summary>
        /// 是否自动跳转呼叫页面,
        /// false:收到推送并且已经收到sip呼叫才跳转呼叫页面
        /// true:原生收到呼叫马上跳转呼叫页面,不等待推送过来
@@ -93,6 +97,7 @@
            Shared.IOS.HDLLinphoneSDK.HDLLinPhoneSDK.Instance().IsAutoJumpCallView = IsAutoJumpCallView;
            //设置Listener监听
            mOnHDLLinphoneCallDelegate = new OnHDLLinphoneCallDelegate(this);
            Console.WriteLine(UserInfo.Current.ID);
            Shared.IOS.HDLLinphoneSDK.HDLLinPhoneSDK.Instance().HdlLinphoneCallDelegate = mOnHDLLinphoneCallDelegate;
#else
            HDLLinphoneKit.Instance.InitLinphone(Application.Activity);
@@ -454,6 +459,7 @@
            mHDLCallVideoInfo.DeviceName = mESVideoInfo.DeviceName;
            mHDLCallVideoInfo.InterphoneType = InterphoneType.HDL.ToString();
            mHDLCallVideoInfo.DeviceSipAccount = mESVideoInfo.deviceSipAccount;
            mHDLCallVideoInfo.spk = mESVideoInfo.spk;
            InitCallInfo(mHDLCallVideoInfo);
            if (isHdlLinphone)
@@ -496,20 +502,32 @@
        /// <param name="mESVideoInfo"></param>
        public void CheckCallStateAndGotoPage(bool isHdlLinphone = false)
        {
            //如果开启了自动跳转方案,则无需继续下面处理、无需手动跳转
            if (IsAutoJumpCallView) return;
            //先结束掉之前的线程
            EndCheckIncomingCallThread();
            //检测是否来电了如果是直接调整呼叫页面如果不是则开启线程等待判断
            if (IsIncomingReceivedCallState()|| isHdlLinphone) {
                Utlis.WriteLine("CALL 已经来电了。。。打开呼叫页面");
                GoToHDLLinphoneIntercomActivity();
            }
            else
            if (mHDLCallVideoInfo.spk == "door.gate")
            {
                //如果还没来电 开启线程检测
                StartCheckIncomingCallThread();
#if __IOS__
                //自研可视对讲
                HDLLinPhoneSDK.Instance().GotoHDLSRLinphoneIntercomVC(mHDLCallVideoInfo.DeviceName,mHDLCallVideoInfo.DeviceSipAccount);
#endif
            }
            else {
                //狄耐克可视对讲
                //如果开启了自动跳转方案,则无需继续下面处理、无需手动跳转
                if (IsAutoJumpCallView) return;
                //先结束掉之前的线程
                EndCheckIncomingCallThread();
                //检测是否来电了如果是直接调整呼叫页面如果不是则开启线程等待判断
                if (IsIncomingReceivedCallState())
                {
                    Utlis.WriteLine("CALL 已经来电了。。。打开呼叫页面");
                    GoToHDLLinphoneIntercomActivity();
                }
                else
                {
                    //如果还没来电 开启线程检测
                    StartCheckIncomingCallThread();
                }
            }
        }
@@ -849,6 +867,10 @@
        /// 类型
        /// </summary>
        public string InterphoneType;
        /// <summary>
        /// spk
        /// </summary>
        public string spk="";
    }