上一篇主要介绍了下SIM卡的文件结构,以及对其读写主要用的命令格式,下面就可以开始描述UICC实现的框架流程了,首先,先列出一些常见的TAG:
RIL: /hardware/ril/reference-ril/refereince-ril.c
AT: /hardware/ril/reference-ril/atchannel.
RILD: /hardware/ril/rild/rild.c
RILC: /hardware/ril/libril/ril.cpp
RILB frameworks/base/telephony/java/com/android/internal/telephony/BaseCommands.java
RILJ: /frameworks/base/telephony/java/com/android/internal/telephony/gsm/RIL.java
GSM: /frameworks/base/telephony/java/com/android/internal/telephony/gsm/GSMPhone
根据这个TAG大概可以知道整个telephony的源码分布。下面先介绍UICC框架的上层实现流程:
1. UICC框架类结构
主要的源码位于frameworks\opt\telephony\src\java\com\android\internal\telephony\uicc\下,这些类的作用:
UiccController.java:监控,管理UICC信息;
UiccCard.java:UICC卡代码中对应的抽象;
IccCardStatus.java:维护UICC卡的状态:CardState & PinState;
UiccCardApplication.java:卡上具体的一个应用;
IccRecords.java:记录SIM卡数据;
IccFileHandler.java:读取SIM卡文件;