来电默认全屏

默认情况下,来电android是以通知窗口的形式显示,只在屏幕的顶部显示,现在改为全屏显示

修改位置

alps\vendor\mediatek\proprietary\packages\apps\Dialer\java\com\android\incallui\InCallPresenter.java

private boolean startUi(InCallState inCallState) {

boolean isCallWaiting = mCallList.getActiveOrBackgroundCall() != null &&

mCallList.getIncomingCall() != null;

Log.e(this, "isCallWaiting=="+isCallWaiting + " inCallState="+inCallState);

Log.i(this, " isIncoming="+inCallState.isIncoming());

// If the screen is off, we need to make sure it gets turned on for incoming calls.

// This normally works just fine thanks to FLAG_TURN_SCREEN_ON but that only works

// when the activity is first created. Therefore, to ensure the screen is turned on

// for the call waiting case, we finish() the current activity and start a new one.

// There should be no jank from this since the screen is already off and will remain so

// until our new activity is up.

if (isCallWaiting) {

if (mProximitySensor.isScreenReallyOff() && isActivityStarted()) {

Log.i(this, "Restarting InCallActivity to turn screen on for call waiting");

mInCallActivity.finish();

return false;

} else {

Log.i(this, "show InCallActivity for waiting call");

showInCall(false, false);

}

} else {

cczheng add show Full Screen in call UI replace incall notification

//mStatusBarNotifier.updateNotification(mCallList);

mContext.startActivity(InCallActivity.getIntent(

mContext, false/*showDialpad*/, false/*newOutgoingCall*/, true /* forFullScreen */));

}

return true;

}

将 updateNotification 方式替换为 start InCallActivity

联系人已保存来电时,增加归属地显示

android原来的归属地显示条件为,当来电号码未存储为联系人时,也就是来电页面显示为号码时,号码下方会显示出来电归属地

当号码已经保存为联系人,来电页面显示联系人名称时,不显示来电归属地。需求来了,联系人情况也要显示来电归属地。

来电归属地查询的流程后面会单独介绍,可先看这篇 号码归属地识别-Android电话应用

image

效果图

修改位置

1、alps\vendor\mediatek\proprietary\packages\apps\Dialer\java\com\android\incallui\CallerInfoAsyncQuery.java

void updateData(int token, Object cookie, Cursor cursor) {

.....

if (true/*TextUtils.isEmpty(mCallerInfo.name)*/) {//cczheng change true

// Actually when no contacts match the incoming phone number,

// the CallerInfo object is totally blank here (i.e. no name

// *or* phoneNumber). So we need to pass in cw.number as

// a fallback number.

mCallerInfo.updateGeoDescription(mQueryContext, cw.number);

}

......

}

号码和姓名的情况都去查询归属地

2、alps\vendor\mediatek\proprietary\packages\apps\Dialer\java\com\android\incallui\CallCardPresenter.java

private void updatePrimaryDisplayInfo() {

......

mInCallScreen.setPrimary(

new PrimaryInfo(

number,

mPrimary.updateNameIfRestricted(name),

nameIsNumber,

shouldShowLocationAsLabel(nameIsNumber, mPrimaryContactInfo.shouldShowLocation)

? mPrimaryContactInfo.location

: number + "\n" + mPrimaryContactInfo.location/*null*/,/*cczheng change null to locationlabel*/

isChildNumberShown || isCallSubjectShown ? null : mPrimaryContactInfo.label,

mPrimaryContactInfo.photo,

mPrimaryContactInfo.photoType,

mPrimaryContactInfo.isSipCall,

showContactPhoto,

hasWorkCallProperty || isWorkContact,

mPrimary.isSpam(),

mPrimary.answeringDisconnectsForegroundVideoCall(),

shouldShowLocation(),

mPrimaryContactInfo.lookupKey,

multimediaData,

mPrimary.getNumberPresentation()));

.....

}

将原来的null替换为 号码和归属地拼接,\n 换行显示

3、alps\vendor\mediatek\proprietary\packages\apps\Dialer\java\com\android\incallui\contactgrid\res\layout\incall_contactgrid_bottom_row.xml

将id为 contactgrid_forwardNumber 和 contactgrid_bottom_text 的 android:singleLine="true" 改为 false,为了换行显示

修改这三个地方重新编译Dialer,push 查看效果ok

android 改变来电号码,Android8.1 MTK平台 Dialer修改(来电全屏、归属地显示)相关推荐

  1. Android8.1 MTK平台 Dialer修改(来电全屏、归属地显示)

    来电默认全屏 默认情况下,来电android是以通知窗口的形式显示,只在屏幕的顶部显示,现在改为全屏显示 修改位置 alps\vendor\mediatek\proprietary\packages\ ...

  2. Android8.1 MTK平台 Dialer修改(通话常亮、按钮接听)

    通话保持常亮(不息屏) 在网上搜索的 Android保持屏幕常亮的方法,一种是 getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SC ...

  3. Android8.1 MTK平台 增加三指截屏(仿IOS左下角显示缩略图点击放大显示)

    效果图 修改后动画如下 系统原动画如下 三指截屏 PhoneWindowManager 同级目录下的 SystemGesturesPointerEventListener.java 主要负责处理界面的 ...

  4. Android8.1 MTK 平台 Launcher3 修改定制

    一.去掉默认 Google 搜索栏 修改位置 vendor\mediatek\proprietary\packages\apps\Launcher3\src\com\android\launcher3 ...

  5. Android 系统(112)---Android系统读取 CPU温度(MTK平台)

    Android系统读取 CPU温度(MTK平台) 一.[MTK 平台]读取温度命令 1.查看类型是否是 CPU adb shell "cat /sys/class/thermal/therm ...

  6. Android WebView 视频播放,全屏按钮不显示或灰显解决方案

    Android WebView 视频播放,全屏按钮不显示或灰显解决方案 背景 问题定位 背景 在Android开发中,遇到了如下问题:Activity内嵌WebView,加载有视频的页面时,视频无法全 ...

  7. Android 使用WebView 实现播放爱奇艺视频,可全屏(使用的腾讯的X5内核) (一)

    项目中有个需求,播放爱奇艺的视频,百度了一通,可能是搜索词有问题,没找到解决方法,后来无意中发现微信可以播放,就想到是否可以使用微信的x5内核,一试发现可以实现.想要实现的效果如下,点击全屏后全屏播放 ...

  8. android x5获取播放地址,Android 使用WebView 实现播放爱奇艺视频,可全屏(使用的腾讯的X5内核) (一)...

    Android 使用WebView 实现播放爱奇艺视频,可全屏(使用的腾讯的X5内核) (一) 发布时间:2018-06-27 18:30, 浏览次数:1438 , 标签: Android WebVi ...

  9. android 8.1 截屏,Android8.1 MTK平台 截屏功能分析

    前言 涉及到的源码有 frameworksbaseservicescorejavacomandroidserverpolicyPhoneWindowManager.java vendormediate ...

最新文章

  1. 架构与思维:系统容量设计
  2. 简单说一下,你对CPU缓存的了解?
  3. 安装autoit libary失败问题解决
  4. oracle数据抽取脚本,oracle的一些信息抽取脚本.sql
  5. web安全_皮卡丘_xss
  6. 重建二叉树(基于js)
  7. Codeforces Round #361(div 2)
  8. Android 简介:Android SDK 和开发框架简介
  9. Hive环境搭建启动报错
  10. VS2010打开旧版本MFC工程无对话框
  11. JavaScript语言精粹(修订版)
  12. 安卓开发 实现文字渐变效果_AI教程!用网格工具做渐变字效
  13. Error: Could not open connection to jdbc:hive2://master:10000: java.net.ConnectException: Connection
  14. PHP 微信小程序支付实现
  15. ubuntu 18.04快捷显示桌面
  16. 输入分数,判断成绩等级(使用if和switch两种方法)
  17. 《海边的卡夫卡》摘抄
  18. python怎么计算_python怎么计算
  19. zzulioj1147: 查找子数组
  20. 三相可控全桥整流与DC Buck变换电路设计仿真问题汇总

热门文章

  1. unity 利用NavMeshAgent2D实现怪物追人
  2. 【已解决】‘node‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件 / 全新安装node
  3. linux 编译QT atom,QT5 编译使用TagLib
  4. SSM整合案例(超详细)
  5. 《免费前端教程不会告诉你这些》知乎LIVE读后感
  6. 基于蚁群算法的六轴机械臂路径规划(运动学模型建立)
  7. idea 2019.1.3注册码(亲测可用)
  8. ASEMI肖特基二极管型号大全
  9. Windwos10启动后 Print Spooler 服务不能自动启动的解决方法
  10. 分辨率、DPI、PPI和屏幕尺寸,你都知道是啥么?