如果是插入移动卡HD语音则红框中字符串应该是"outgoing 4G voice call".插入电信卡拨HD语音则显示的是“outgoing call”
t
通话详情界面为CallDetailsEntryViewHolder.java.
一条通话记录对应的信息从左至右的id如下:
从上面的代码截图可以看到,当通话类型是OUTGOING_TYPE时,如果entry的feature的FEATURE_HD_CALL置位则call type变为OUTGOING_IMS_TYPE。
getCallTypeText()函数中,如果是OUTGOING_IMS_TYPE则显示为呼出的4G通话,否则OUTGOING_TYPE则显示呼出的电话。
通过添加日志,entry的feature的FEATURE_HD_CALL没有置位。
那么通话记录的call feature如何设置的呢?
在packages/services/Telecom目录下,CallLogManager.java:
通话记录在logCall函数中写入。HD_CALL 是否置位必须KEY_IDENTIFY_HIGH_DEFINITION_CALLS_IN_CALL_LOG_BOOL为true。这个属性只有移动卡的mcc mnc配置了。所以电信卡无论如何不会将FEATURE_HD_CALL置位。