vilte/vowifi
vendor/mediatek/proprietary/packages/services/Ims/src/com/mediatek/ims/ImsService.java
¦ ¦ ¦ ¦ ¦ ¦ volteRes = res.getBoolean(
¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ com.android.internal.R.bool.config_device_volte_available);
¦ ¦ ¦ ¦ ¦ ¦ vilteRes = res.getBoolean(
¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ com.android.internal.R.bool.config_device_vt_available);
¦ ¦ ¦ ¦ ¦ ¦ wfcRes = res.getBoolean(
¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ com.android.internal.R.bool.config_device_wfc_ims_available);
¦ ¦ ¦ ¦ ¦ } else {
¦ ¦ ¦ ¦ ¦ ¦ // For test SIM cards, forece enable all IMS functions for lab event.
¦ ¦ ¦ ¦ ¦ ¦ Rlog.w(LOG_TAG, "Found test SIM on phone " + phoneId);
¦ ¦ ¦ ¦ ¦ ¦ volteRes = true;
¦ ¦ ¦ ¦ ¦ ¦ vilteRes = true;
¦ ¦ ¦ ¦ ¦ ¦ wfcRes = true;
¦ ¦ ¦ ¦ ¦ } ¦ ¦ ¦ ¦ ¦ Rlog.w(LOG_TAG, "Set volte capability is " + volteRes);
¦ ¦ ¦ ¦ ¦ Rlog.w(LOG_TAG, "Set vilte capability is " + vilteRes);
¦ ¦ ¦ ¦ ¦ Rlog.w(LOG_TAG, "Set wfc capability is " + wfcRes);
--
从log:
1457 1457 D ImsManager: vilte resource value is true, system property is 1, Carrier value is true
在:frameworks/opt/net/ims/src/java/com/android/ims/ImsManager.java中:
¦ String carrier = CarrierConfigManager.KEY_CARRIER_VT_AVAILABLE_BOOL;
¦ boolean isResOverlaySupport = true;
¦ isResOverlaySupport = getIsResOverlaySupport(context, ImsConfig.FeatureConstants.FEATURE_TYPE_VIDEO_OVER_LTE);
¦ log("vilte resource value is "
¦ ¦ + isResOverlaySupport + ", system property is " + SystemProperties.getInt("ro.mtk_vilte_support", )
¦ ¦ + ", Carrier value is " + getBooleanCarrierConfig(context, carrier));
--
private static boolean getIsResOverlaySupport(Context context, int feature) {
¦ int mainPhoneId = getMainCapabilityPhoneId(context);
¦ boolean isResOverlaySupport = true;
¦ log("MainCapabilityPhoneId is " + mainPhoneId + " on feature " + feature);
¦ if (SystemProperties.get("persist.mtk_dynamic_ims_switch").equals("")) {
¦ ¦ try {
¦ ¦ ¦ ImsConfig configInstance = getConfigInterface(mainPhoneId, null, context);
¦ ¦ ¦ if (configInstance != null) {
¦ ¦ ¦ ¦ isResOverlaySupport = configInstance.getImsCapability(feature);
¦ ¦ ¦ }
¦ ¦ } catch (ImsException e) {
¦ ¦ ¦ log("Get volte capability - fail: " + e);
¦ ¦ }
¦ }
在:device/mediatek/common/device.mk中:
PRODUCT_PROPERTY_OVERRIDES += persist.mtk_dynamic_ims_switch=1
;
----
vilte/vowifi的更多相关文章
- Android 7.0 IMS框架详解
本文主要讲解IP Multimedia Subsystem (IMS)在Android 7.0上由谷歌Android实现的部分内容.从APP侧一直到Telephony Framework,是不区分CS ...
- VoLTE的前世今生...说清楚VoIP、VoLTE、CSFB、VoWiFi、SIP、IMS那些事...
转:https://mp.weixin.qq.com/s?__biz=MzA3MTA3OTIwMw==&mid=401344844&idx=1&sn=497b351f524af ...
- OpenStack 企业私有云的若干需求(7):电信行业解决方案 NFV
自动扩展(Auto-scaling)支持 多租户和租户隔离 (multi-tenancy and tenancy isolation) 混合云(Hybrid cloud)支持 主流硬件支持.云快速交付 ...
- svg矢量图绘制以及转换为Android可用的VectorDrawable资源
项目需要 要在快速设置面板里显示一个VoWiFi图标(为了能够区分出来图形,我把透明的背景填充为黑色了) 由于普通图片放大后容易失真,这里我们最好用矢量图(SVG(Scalable Vector Gr ...
- 移动通信最先进的音频编解码器EVS及用好要做的工作
语音通信从最初的只有有线通信变成后来的有线通信与无线通信(移动通信)的竞争,当移动语音通信价格下来后有线语音通信明显处于逆势.如今移动语音通信的竞争对手是OTT(On The Top)语音,OTT语音 ...
- WebRTC的拥塞控制技术<转>
转载地址:http://www.jianshu.com/p/9061b6d0a901 1. 概述 对于共享网络资源的各类应用来说,拥塞控制技术的使用有利于提高带宽利用率,同时也使得终端用户在使用网络时 ...
- Android8.1 MTK平台 SystemUI源码分析之 网络信号栏显示刷新
SystemUI系列文章 Android8.1 MTK平台 SystemUI源码分析之 Notification流程 Android8.1 MTK平台 SystemUI源码分析之 电池时钟刷新 And ...
- 5G 与 MEC 边缘计算
目录 文章目录 目录 前言 参考文献 通信网络 核心网演进之路 早古时期 2G 网络架构 3G 网络架构 4G 网络架构 5G 5G 网络的需求 5G 网络架构的设计原则 5G 网络的逻辑架构 5G ...
- sip会话流程以及sip介绍(3)
1.mtk_ims_mo_sip报文交互流程 log: 步骤1:ATD触发MO呼叫尝试步骤2:VDM选择ADS到IMS.步骤3:触发VoLTE UA来设置MO调用.步骤4:SIP信息到P-CSCF进行 ...
随机推荐
- 最大权闭合图最大获益(把边抽象为点)HDU3879
题意:给出一个无向图,每个点都有点权值代表花费,每条边都有利益值,代表形成这条边就可以获得e[i]的利益,问选择那些点可以获得最大利益是多少? 分析:把边抽象成点,s与该点建边,容量是利益值,每个点与 ...
- web1
<!DOCTYPE html> <html> <head> <title>web0923</title> <script> fu ...
- Python和Ruby抓取网页时的中文乱码问题(在Eclipse和Apatana Studio下均是这种解决方法
Python抓取中文网页乱码 :Eclipse+pydev2.2+python2.7 :Apatana Studio3+ pydev2.2+python2.7 run时设置 run--&g ...
- poj: 3006
简单题 #include <iostream> #include <stdio.h> #include <string> #include <stack> ...
- Android中异步类AsyncTask的理解
这里有两种解释的方法,各有侧重点: 第一种解释: Async Task 简介:AsyncTask的特点是任务在主线程之外运行,而回调方法是在主线程中执行,这就有效地避免了使用Handler带来的麻烦 ...
- 浅谈JavaScript计时器
JavaScript计时器 1.什么是JavaScript计时器? 在JavaScript中,我们可以在设定的时间间隔之后来执行代码,而不是在函数被调用后立即执行. 2.计时器类型 一次性计时器:仅在 ...
- 关于Python中数据对象的可变性
先贴上Python官网中对数据模型描述的几段话.(在python官网的 语言参考>>数据模型 那部分) Every object has an identity, a type and a ...
- CentOS7.1搭建服务器篇(1)
服务器搭建篇 1.镜像选择,CentOS 7.1 minmal.iso 2.yum install net-tools[提供ifconfig工具,我不习惯IP命令] 3.配置静态IP地址58.154. ...
- android 学习随笔二十八(应用小知识点小结 )
去掉标题栏的方法 第一种:也一般入门的时候经常使用的一种方法requestWindowFeature(Window.FEATURE_NO_TITLE);//去掉标题栏注意这句一定要写在setConte ...
- gerrit-git
解释为什么gerrit中的push是需要用refs/for/master http://stackoverflow.com/questions/10461214/why-is-git-push-ger ...