内容比较杂,文末写了后面将要写的几篇博客的主题,中间部分可略过。

掰手指头算一下有两个月没写博客了,前段时间比较忙,有点把这个给忘了。不过打算从现在起尽量每周写一篇博客,最少两周一篇。不光写知识,也准备写一些问题的解决过程与经验的总结。

那么最近是在忙什么呢?项目上因为客户运营商已经架设了IMS网络,很多与此相关的问题比如IMS-VT,VoLTE,VOWIF等我都有接触一些。我并不清楚其他同行的状况哈,反正我自己觉得对IMS相关的问题接触的还算是比较早比较多的。

在项目之初,该运营商的网络都还没稳定(现在依然不稳定),另外在android代码的实现中,VideoCall的好多功能都是不完善的甚至是有问题的。实际网络和VT源码的不成熟,导致我们这个工作过程感觉就是一个不断试错不断修补的过程。客户那边报上来的很多问题都是源码中本身没有考虑到没有实现的,这些由我们或者高通一点点实现。因为国内没有IMS网络支持,我们这个fix过程几乎都是“盲改”。视频电话这块,我处理的主要是在IMS网络中各种通话操作过程中遇到的audio状态和UI显示的问题,基本上都是InCallUI内的。

另外如果你关注了CyanogenMod的话,你会发现最近在InCallUI部分有很多IMS-VT的提交,有不少就是解决了之前我们处理的问题。而且android由5.1升级到6.0上call相关的东西又有很大变化,其中视频电话这块有点大刀阔斧修改的感觉。

最近这几天还看了几个普通通话中audio相关的问题(6.0中我们应该称之为callAudio了),在这个过程中我发现了一个CM和AOSP中都存在的一个bug,不过给AOSP提交代码的时候review代码的人回复说在android N(7.0)中那个问题已经修复了,而且当时我那条修改不太好,我就给abandon掉了,打算过几天重新提交一个。

今晚上看源码的时候发现在6.0上VideoCall中原来的updateAudioMode()做的工作被单独拉出来由InCallAudioManager.java实现了并且扩充了功能,而且实现了一些去年9月10月份我们在5.1上实现的功能。哦对了,因为起初代码的不完善,在后面有大量的修改,以及高通patch的打入,会导致一些在之前版本上已经解决的问题,最近又出现了(昨天就遇到一个)。

-文末- 关与上面零零散散说到的一些东西我会在后续的博客中体现出来,一个是之前VideoCall相关需求实现的几个总结,一个是通话中audio相关的bug,因为前面有博客写了audioButton,所以这次跟前面会稍有结合,应该会以CallAudioManager为主,再有一个就是把6.0和5.1比较一下,看6.0做了哪些改动。

晚安~