一
通话界面的显示相关文件的路径在 /packages/apps/Dialer 路径下。 每种界面都是以Fragment 的形式控制。
比如拨号界面DialpadFragment.java,应答界面AnswerFragment.java, Hold 界面OnHoldFragment.java.
二
下一层是/packages/services/Telecomm
这一层最重要的两个对象CallsManager.java 和Call.java。
每一路通话生成一个Call, 在CallsManager 中保存和管理。 同时CallsManager 注册一些Listener, 当Call 状态改变时, CallsManager 会发出消息通知。
Call 对象保存了通话相关的参数 , 然后与ConnectionServiceWrapper.java 进行对接。
ConnectionServiceWrapper 顾名思义, 是ConnectionService 的包装类,是Call 和ConnectionService 之间的桥梁。
三 在下一层是/packages/services/Telephony/
这一层最重要的类是ConnectionService(/frameworks/base/telecomm/) 和TelephonyConnectionService(TelephonyConnection继承了ConnectionService)
TelephonyConnectionService 为每一路通话建立一个TelephonyConnection。保存在TelephonyConnectionService中,
TelephonyConnection 与GsmCdmaPho