呼叫号码隐藏功能设置后不生效

   从log看,qmi 命令的voice_get_clir返回是result = QMI_RESULT_FAILURE。如此UI应该一直提示设置失败才对。但是有时UI显示设置ok。如此UI逻辑本身有问题。

   但是对比其他项目,直接是灰显的不能设置。于是查看对应需求:

6.5.1.补充业务要求及配置 
[需求编号]: TS-VOLTE-FUNRQ-SS-000001 
[需求描述]: 
终端工作应支持如下补充业务,用户可通过Ut接口配置开启/关闭补充业务,具体补充 
业务配置需满足《中国移动Ut接口规范》要求。 
 号码显示类: 

业务名称 是否提供该业务 是否通过Ut配置 Ut配置界面要求 
主叫号码显示(OIP) 是 否 是,置为不可用 
主叫号码显示限制 是 否 是,置为不可用 
被叫号码显示 是 否 是,置为不可用 

被叫号码显示限制 是 否 是,置为不可用

同时对比AP侧代码:

两个项目的pacakges/services/Telephony目录下的GsmUmtsAdditionalCallOptions.java文件对比。原来对比项目根据  config_disable_clir_over_ut 配置,如果为true则直接灰显。也不去查询clir(通过CLIRListPreference的init函数的skipreading参数控制。)。config_disable_clir_over_ut 配置在如下文件中device/overlay/packages/apps/CarrierConfig/res/xml/vendor.xml。

应用通过Phone.getOutgoingCallerIdDisplay来获取。目前无论是普通GSMCdmaphone(RIL_REQUEST_GET_CLIR)还是imsphone(IMS_SOCKET_REQ_GET_CLIR)在qcril_eventlist.h中都是映射到qcril_qmi_voice_request_get_clir.最终通过QMI_VOICE_GET_CLIR_REQ_V02来和modem交互。



你可能感兴趣的:(android移动网络通讯)