JLChen
2021-08-24 9e9f864d0f630cacd36107e3960025f454c6881d
2021-08-24 1.优化更新
5个文件已修改
142 ■■■■ 已修改文件
.vs/HDL_APP_Project/xs/UserPrefs.xml 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DLL/Linphone/Android/Shared.Droid.HDLLinphone.dll 补丁 | 查看 | 原始文档 | blame | 历史
HDL_APP_Project.sln 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/Common/ApiUtlis.cs 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/DAL/ThirdPartySdk/HDLLinphone.cs 78 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.vs/HDL_APP_Project/xs/UserPrefs.xml
@@ -1,19 +1,26 @@
<Properties StartupConfiguration="{D998E133-F0DD-4760-BE3C-461632F54DA4}|Default">
<Properties StartupConfiguration="{09712674-2A38-407B-B1E2-560B2C352F9A}|Default">
  <MonoDevelop.Ide.ItemProperties.HDL-ON__iOS automaticSigning="False" PreferredExecutionTarget="MonoDevelop.IPhone.IPhoneDeviceTarget.00008030-00014C392121802E" />
  <MonoDevelop.Ide.Workbench>
  <MonoDevelop.Ide.Workbench ActiveDocument="HDL_ON/Common/ApiUtlis.cs">
    <Files>
      <File FileName="HDL_ON/DAL/ThirdPartySdk/HDLLinphone.cs" Line="195" Column="44" />
      <File FileName="HDL_ON/Common/ApiUtlis.cs" Line="287" Column="45" />
    </Files>
    <Pads>
      <Pad Id="ProjectPad">
        <State name="__root__">
          <Node name="HDL_APP_Project" expanded="True">
            <Node name="HDL_ON" expanded="True">
              <Node name="DAL" expanded="True">
                <Node name="ThirdPartySdk" expanded="True">
                  <Node name="HDLLinphone.cs" selected="True" />
                </Node>
              <Node name="Common" expanded="True">
                <Node name="Utlis" expanded="True" />
                <Node name="ApiUtlis.cs" selected="True" />
              </Node>
            </Node>
            <Node name="Shared.IOS.HDLLinphoneSDK" expanded="True">
              <Node name="Properties" expanded="True" />
              <Node name="DAL" expanded="True">
                <Node name="ThirdPartySdk" expanded="True" />
              </Node>
              <Node name="UI" expanded="True">
                <Node name="UI1-Login" expanded="True" />
                <Node name="UI2" expanded="True" />
              </Node>
            </Node>
          </Node>
        </State>
DLL/Linphone/Android/Shared.Droid.HDLLinphone.dll
Binary files differ
HDL_APP_Project.sln
@@ -9,8 +9,6 @@
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Blufi", "HdlBluWi\Blufi.csproj", "{2DDF4C3C-6998-432E-9F43-6786D82F0630}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Shared.IOS.HDLLinphoneSDK", "..\Linphone\HDLLinphoneSDK_IOS\Shared.IOS.HDLLinphoneSDK\Shared.IOS.HDLLinphoneSDK\Shared.IOS.HDLLinphoneSDK.csproj", "{9D978BB5-0B26-40BA-A7EC-C629B808D2BE}"
EndProject
Global
    GlobalSection(SolutionConfigurationPlatforms) = preSolution
        Debug|Any CPU = Debug|Any CPU
@@ -57,17 +55,5 @@
        {2DDF4C3C-6998-432E-9F43-6786D82F0630}.Debug|iPhone.Build.0 = Debug|Any CPU
        {2DDF4C3C-6998-432E-9F43-6786D82F0630}.Release|iPhone.ActiveCfg = Release|Any CPU
        {2DDF4C3C-6998-432E-9F43-6786D82F0630}.Release|iPhone.Build.0 = Release|Any CPU
        {9D978BB5-0B26-40BA-A7EC-C629B808D2BE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
        {9D978BB5-0B26-40BA-A7EC-C629B808D2BE}.Debug|Any CPU.Build.0 = Debug|Any CPU
        {9D978BB5-0B26-40BA-A7EC-C629B808D2BE}.Release|Any CPU.ActiveCfg = Release|Any CPU
        {9D978BB5-0B26-40BA-A7EC-C629B808D2BE}.Release|Any CPU.Build.0 = Release|Any CPU
        {9D978BB5-0B26-40BA-A7EC-C629B808D2BE}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
        {9D978BB5-0B26-40BA-A7EC-C629B808D2BE}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
        {9D978BB5-0B26-40BA-A7EC-C629B808D2BE}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
        {9D978BB5-0B26-40BA-A7EC-C629B808D2BE}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
        {9D978BB5-0B26-40BA-A7EC-C629B808D2BE}.Debug|iPhone.ActiveCfg = Debug|Any CPU
        {9D978BB5-0B26-40BA-A7EC-C629B808D2BE}.Debug|iPhone.Build.0 = Debug|Any CPU
        {9D978BB5-0B26-40BA-A7EC-C629B808D2BE}.Release|iPhone.ActiveCfg = Release|Any CPU
        {9D978BB5-0B26-40BA-A7EC-C629B808D2BE}.Release|iPhone.Build.0 = Release|Any CPU
    EndGlobalSection
EndGlobal
HDL_ON/Common/ApiUtlis.cs
@@ -281,17 +281,22 @@
                        }
                    }
                    //======================获取Sip账号并且初始化SDK可视对讲设备列表====================
                    if (isInterphoneType_HDL)
                    {
                        //HDLLinphone可视对讲,获取Sip账号并初始化SDK
                        HDLLinphone.Current.GetHDLSipInfoAndInitSDK(DB_ResidenceData.Instance.CurrentRegion.id);
                    //如果检测线程没启动,才继续下面操作 因为App刚启动马上收到推送了,然后才执行到这里
                    if (HDLLinphone.Current.CheckIncomingCallThreadIsNull()) {
                        //当前住宅是HDL可视对讲类型的设备
                        if (isInterphoneType_HDL)
                        {
                            //HDLLinphone可视对讲,获取Sip账号并初始化SDK
                            HDLLinphone.Current.GetHDLSipInfoAndInitSDK(DB_ResidenceData.Instance.CurrentRegion.id);
                        }
                        else
                        {
                            Utlis.WriteLine("当前住宅不支持HDL可视对讲,退出登录所有账号");
                            //当前住宅不支持HDL可视对讲
                            HDLLinphone.Current.LogoutAllAccount();
                        }
                    }
                    else
                    {
                        Utlis.WriteLine("当前住宅不支持HDL可视对讲,退出登录");
                        //当前住宅不支持HDL可视对讲
                        HDLLinphone.Current.LogoutAllAccount();
                    }
                }
                catch (Exception ex)
                {
HDL_ON/DAL/ThirdPartySdk/HDLLinphone.cs
@@ -192,12 +192,18 @@
        /// 请求服务器获取当前住宅Sip账号信息并初始化LinphoneSDK和登录
        /// </summary>
        /// <param name="homeId"></param>
        public void GetHDLSipInfoAndInitSDK(string homeId)
        public void GetHDLSipInfoAndInitSDK(string homeId, bool clearCallInfo = true)
        {
            try
            {
                //先清空呼叫和监视设备信息
                InitCallInfo(null);
                if (clearCallInfo)
                {
                    InitCallInfo(null);
                }
                HDLSipInfo mHDLSipInfo = GetHDLSipInfo(homeId);
                if (mHDLSipInfo != null)
                {
@@ -223,7 +229,7 @@
        /// </summary>
        /// <param name="mHDLCallVideoInfo"></param>
        /// <param name="mInterphoneType"></param>
        public void InitCallInfo(HDLCallVideoInfo mHDLCallVideoInfo)
        void InitCallInfo(HDLCallVideoInfo mHDLCallVideoInfo)
        {
            this.mHDLCallVideoInfo = mHDLCallVideoInfo;
        }
@@ -437,7 +443,7 @@
                Utlis.WriteLine("CALL 收到推送 其他住宅,重新获取呼叫住宅的SIP账号并登录");
                new Thread(() =>
                {
                    GetHDLSipInfoAndInitSDK(mESVideoInfo.HomeId);
                    GetHDLSipInfoAndInitSDK(mESVideoInfo.HomeId, false);
                })
                { IsBackground = false }.Start();
@@ -456,7 +462,8 @@
        {
            //如果开启了自动跳转方案,则无需继续下面处理、无需手动跳转
            if (IsAutoJumpCallView) return;
            //先结束掉之前的线程
            EndCheckIncomingCallThread();
            //检测是否来电了如果是直接调整呼叫页面如果不是则开启线程等待判断
            if (IsIncomingReceivedCallState()) {
                Utlis.WriteLine("CALL 已经来电了。。。打开呼叫页面");
@@ -508,9 +515,13 @@
        /// </summary>
        Thread checkIncomingCallThread = null;
        /// <summary>
        /// 检测线程持续时间
        /// </summary>
        const int MAX_THREAD_TIME = 30;
        /// <summary>
        /// 线程结束
        /// </summary>
        int threadTime = 15;
        int threadTime = MAX_THREAD_TIME;
        /// <summary>
        /// 开启检测来电线程
        /// </summary>
@@ -519,7 +530,7 @@
            try
            {
                Utlis.WriteLine("CALL 还没来电,开启线程");
                threadTime = 15;
                threadTime = MAX_THREAD_TIME;
                //结束之前的线程
                EndCheckIncomingCallThread();
                //新建线程
@@ -566,9 +577,22 @@
                {
                    checkIncomingCallThread.Interrupt();
                }
                catch { }
                catch {
                }
                checkIncomingCallThread = null;
                Utlis.WriteLine("CALL 先结束线程");
            }
        }
        /// <summary>
        /// 判断线程是否启动了
        /// </summary>
        /// <returns></returns>
        public bool CheckIncomingCallThreadIsNull()
        {
            return checkIncomingCallThread == null;
        }
        #endregion
@@ -718,19 +742,19 @@
                hdlLinphone.HDLUpdateCallStatus(CallStatusType.REJECT, InterphoneType.HDL);
            }
            ///// <summary>
            ///// 截图成功
            ///// </summary>
            ///// <param name="image"></param>
            //public override void OnScreenshotSuccessfulAction(UIImage image)
            //{
            //    ////NSData imageData = UIImagePNGRepresentation(image); UIImage
            //    //NSData imageData = image.AsPNG();
            //    //byte[] dataBytes = new byte[imageData.Length];
            //    //System.Runtime.InteropServices.Marshal.Copy(imageData.Bytes, dataBytes, 0, Convert.ToInt32(imageData.Length));
            //    ////image.g
            //    ////hdlLinphone.ScreenshotSuccessfulAction(dataBytes);
            //}
            /// <summary>
            /// 截图成功
            /// </summary>
            /// <param name="image"></param>
            public override void OnScreenshotSuccessfulAction(UIImage image)
            {
                ////NSData imageData = UIImagePNGRepresentation(image); UIImage
                //NSData imageData = image.AsPNG();
                //byte[] dataBytes = new byte[imageData.Length];
                //System.Runtime.InteropServices.Marshal.Copy(imageData.Bytes, dataBytes, 0, Convert.ToInt32(imageData.Length));
                ////image.g
                ////hdlLinphone.ScreenshotSuccessfulAction(dataBytes);
            }
            /// <summary>
            /// 开锁成功
@@ -784,18 +808,6 @@
        /// 住宅Id
        /// </summary>
        public string HomeId = string.Empty;
        /// <summary>
        /// 账号
        /// </summary>
        public string Username = string.Empty;
        /// <summary>
        /// 密码
        /// </summary>
        public string Password = string.Empty;
        /// <summary>
        /// Domain
        /// </summary>
        public string Domain = string.Empty;
        /// <summary>
        /// 类型
        /// </summary>