自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 收藏
  • 关注

原创 Android5.1 联系人号码搜索过程缓存原理

1.至于继承关系就不说了,主要说说怎么搜索的,在这里代码主要在packages/apps/ContactsCommon中 ,联系人界面是PeopleActivity,主要搜索所在的界面是ContactEntryListFragment,在这里面,当你按下搜索按钮的时候,会调用setQueryString方法,继而调用reloadData()方法:        removePend

2016-01-01 18:03:45 1173

原创 解决切换jdk编译android源码错误

1. 查看相应的jdk是否在 ubuntu的jdk菜单里,查看:update-alternatives --config javaupdate-alternatives --config javac2.如果没有在菜单里可以如下方式添加:update-alternatives --install /usr/bin/java java /usr/lib/jvm/java/jdk

2016-01-01 18:01:01 712

原创 android5.1中apn选项默认选择制式源码修改

在android源码中声明定义全局变量,此全局变量一旦在某处被赋值在开关机后不会被改变,除非重新赋值或者恢复出厂(会恢复到原来的值):1.frameworks/base/packages/SettingsProvider/res/values/defaults.xml:default2.frameworks/base/core/java/android/provider

2016-01-01 17:58:32 3502

原创 android5.1源码中加全局变量

frameworks/base/packages/SettingsProvider/res/values/defaults.xml:defaultframeworks/base/core/java/android/provider/Settings.java:public static final String DEFAULT_APNSETTING_SELECT

2016-01-01 17:55:48 457

原创 ubuntu12.04设置网桥

vim /etc/network/interfaces添加名称为br100的网桥,添加红色部分,修改如下:auto loiface lo inet loopbackauto br100iface br100 inet dhcpbridge_ports eth0bridge_stp offbridge_maxwait 0bridge_fd 0

2016-01-01 17:51:35 341

原创 maven offline jar for build

fedora下面需要安装:yum install xmvnyum install maven-local才能使用%mvn_build命令使用pom_xpath_remove移除不必要的依赖:%pom_xpath_remove "pom:extension[pom:artifactId[text()='wagon-webdav-jackrabbit']]"%pom_x

2016-01-01 17:49:33 1069

翻译 maven for package--system error solution

Some Maven artifacts try to depend on exact system paths. Most usually this dependency is either on com.sun:tools or sun.jdk:jconsole. Dependencies with system scope cause issues with our tooling an

2016-01-01 17:47:21 366

原创 kvm raw qcow2 example

1.可以使用下面两步:    1. create image, .....        qemu-img create -f raw fdr20.raw 20G 或者qemu-img-xen create -f raw fdr20.raw 20G    2. install ...         virt-install --virt-type kvm --name fdr20

2016-01-01 17:45:24 364

原创 install rpmbuild on rhel/fedora

yum install rpm-build -yyum install rpmdevtools -y启动:rpmdev-setuptreerpmbuild -ba *.spec:编译spec文件rpm -i *.src.rpm:解压rpm文件

2016-01-01 17:43:23 309

原创 ubuntu12.04解决ssh连不上

1.如果ssh连不上,出现连接permission denied:vim /etc/ssh/sshd_configPermitRootLogin yes //去掉注释2.如果自己的机器能够连上其他机器而其他机器连不上自己机器就是openssh-server没有安装或者安装有误,如果提示openssh-server:i386冲突就可能是openssh-client安装不正确需要重

2016-01-01 17:41:45 939

原创 ubuntu12.04--change socks5 to http by proxy

1. sudo apt-get install privoxy2.sudo vi /etc/privoxy/configmodify two places as fellows:listen-address localhost:8111forward-socks5 / 10.7.211.16:1080 .Note:the dot at the last should

2016-01-01 17:39:48 580

原创 第三章:通话连接的作用以及建立过程之四GsmCallTracker.java与RIL.java交互完成物理拨号

四.GsmCallTracker.java与RIL.java交互完成物理拨号1).在上面的实例化Phone过程我们知道了最后调用的GSMPhone类的方法,而上面实例化Phone的同时我们看到参数有一个sCommandsInterfaces[i],这个sCommandsInterfaces[i]是什么类型的数组呢,我们看上面的定义即可知:sCommandsInterfaces = newR

2016-01-01 17:32:53 1221

原创 第三章:通话连接的作用以及建立过程之三TelephonyConnectionService.java与RIL.java交互实现通话底层拨号功能

三.TelephonyConnectionService.java与RIL.java交互实现通话底层拨号功能1).上面已经讲到创建通话连接的过程,通话连接创建完毕之后通话流程就会流转到通话拨号过程,事实上这两步是异步的,我们可以看一下,这个动作是在ConnectionService.java((packages/services/telecomm)中的createConnection方法中进行

2016-01-01 17:28:40 2695

原创 第三章:通话连接的作用以及建立过程之二Binder机制绑定framework层TelephonyConnectionService服务

二.Binder机制绑定framework层TelephonyConnectionService服务1).上面我们说过connection有可能通过binder机制绑定framework层的service服务,但是这个service还是packages层的吗,我认为并不是像直接在packages/services/telecomm层去创建这么简单,通话连接到最后要创建以及使用涉及到的是底层的一

2016-01-01 17:26:50 2620

原创 第三章:通话连接的作用以及建立过程之一Telecomm 层的连接管理者--ConnectionServiceWrapper.java

Android5.1拨号过程中牵涉到通话连接的建立过程,这个过程十分重要,因为通话所有的操作都是建立在这个连接connection之上,下面就建立连接的过程做出详细分析:一.Telecomm 层的层的连接管理者--ConnectionServiceWrapper.java1.这里从建立连接开始分析,我们知道,之前的文章分析过创建连接的入口,这里就不做赘述了,我们从Call.java

2016-01-01 17:23:49 2167

原创 第二章:CallsManager调用 startOutgoingCall开始拨号流程之四InCallController.java绑定InCallService.java实现进程间Binder通信

四.InCallController.java绑定InCallService.java实现进程间Binder通信1).上面我们分析了每路通话的管理,介绍了每个层次之间的关系,但是在这个过程中我们看到,最终是通过调用InCallController.java类的onCallAdded方法去通知InCallService进行每路通话的保存处理,InCallController是在packages层

2016-01-01 17:20:53 3780

原创 第二章:CallsManager调用 startOutgoingCall开始拨号流程之三InCallService完成framework层每路通话转换

三.InCallService完成framework层每路通话转换1).数据通过IInCallService进入到framework完成转换处理,上面执行了什么呢?nCallService是什么,看代码,最后发现: IInCallService inCallService =IInCallService.Stub.asInterface(service); 呵呵,aidl中的I

2016-01-01 17:18:56 2984

原创 第二章:CallsManager调用 startOutgoingCall开始拨号流程之二InCallController.java类进行framework层service绑定

二.InCallController.java类进行framework层service绑定2.进入packages/services/Telecomm模块下的InCallController.java类中查看是否有onCallAdded方法,果然有此方法的实现:public void onCallAdded(Call call) {        if(mInCallServices.

2016-01-01 17:17:52 1597

原创 第二章:CallsManager调用 startOutgoingCall开始拨号流程之一CallsManager完成每路电话的控制管理

一.CallsManager完成每路电话的控制管理概述:上面我们介绍了两路通话流程,在这里我们先介绍第一路进程,就是拨号显示通话界面过程,前面介绍了拨号界面如何到达CallsManager这一层,在这里我们将继续分析下去,看看除了去做显示界面的动作还做了哪些事情,其实,这一路进程说是做了显示通话界面的动作,确切的说应该是去做了每路通话的逻辑处理,状态保存以及激活整个通话架构的动作,而显示通话界

2016-01-01 17:15:55 2458 1

原创 Android5.1 Telecomm层通话去电流程两路进程分析之四通话连接创建成功通知显示InCallUI

四.通话连接创建成功通知显示InCallUI上面介绍了如何创建通话连接以及调用了l.onSuccessfulOutgoingCall去通知前台显示通话界面,那么具体是如何通知的呢?在这里我们继续分析一下具体的connection创建成功后是如何通知显示通话界面的: a.我们看到在创建通话连接成功后回去调用onSuccessfulOutgoingCall方法,其中有个setCallSta

2016-01-01 17:08:12 2175

原创 Android5.1 Telecomm层通话去电流程两路进程分析之三创建去电通话连接

三.创建去电通话连接1.在调用到CallsManager.java中startOutgoingCall去做每路通话管理和通话界面显示的过程中,同时发出了 NewOutgoingCallIntentBroadcaster,我们看在这里做了什么,进入NewOutgoingCallIntentBroadcaster.java,主要方法是processIntent():if (Intent.A

2016-01-01 17:03:26 1917

原创 Android5.1Telecomm层通话去电流程两路进程分析之二拨号过程显示通话界面过程分析

1).由上面的逻辑我们知道调用了CallsManager.java中的startOutgoingCall方法,至于这个过程做了什么可以参考我的另一篇文章--“Contacts模块拨号加载联系人信息流程”,这其中有详细的分析,我们直接跟踪到InCallController.java(packages/services/Telecomm)中的onCallAdded方法:inCallServic

2016-01-01 17:01:06 1960

原创 Android5.1 Telecomm层通话去电流程两路进程分析之一通话去电流程框架介绍

1.1 通话去电流程框架介绍概述:Android5.1相对于以往的平台对通话功能做了很大程度上的修改,在这里,差异性我们到最后去分析,我们先看通话去电的大概结构,在这之前我先提出几点疑问,比如通话过程不可避免涉及到通话连接,整个通话架构是建立在通话连接之上,只有建立了通话连接之后,很多功能比如接听挂断才能真正实现,那么第一点我们就要知道这个通话连接是在什么时候创建,创建完了之后又有了什么动作,

2016-01-01 16:58:45 1784

原创 Android5.1 拨号生成通话记录

Android5.1拨号时通话记录的生成以及显示,这里以紧急拨号为例(正常拨号也是如此):概述:首先拨号,会走正常的拨号流程,可参考另外一篇文章,除此之外,拨号除了会将当前通话加入到CallList中,同时会利用状态变化通知将这路通话保存到通话记录数据库等待下次显示调用,但是注意,只有在挂断时才去通知存储通话记录(也有可能是创建连接成功后)。1.拨号键盘拨号时触发DialpadFr

2016-01-01 16:51:01 3428

原创 Android5.1中Contacts模块拨号加载联系人信息流程

基于5.1代码Contacts模块拨号流程 之前的总结介绍过联系人界面的快速拨号流程以及显示界面的接收数据过程,现在着重讲中间是怎么从OutgoingBroadcast过来拨号界面,中间的联系人信息是如何传递的,以及传递的框架机制。本文通过bug“联系人中多个不同联系人相同号码拨号时如何显示正确姓名”来介绍。一.Contacts中单击事件1.Contacts中PeopleActiv

2016-01-01 16:48:17 4044 1

原创 Android5.1中联系人新建和保存机制

Android5.1中联系人新建和保存机制    首先,android5.1对比之前的各个版本代码,在联系人新建这一块改动很多,在判断是否有SIM卡的情况下会加载不同的Items,比如插入SIM卡时会有email等选项,这个过程是动态加载的过程,灵活程度加大,同时,代码的复杂度也加大了,下面具体通过新建联系人和保存联系人跟踪这一逻辑的流程。模块路径:packages/apps/Co

2016-01-01 16:15:43 3513

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除