1.2回调处理
回调主要是通过消息的形式,
首先是IccFileHandler的EVENT_EFEXT1_LINEAR_RECORD_SIZE_DONE 消息,
然后是AdnRecordCache的EVENT_LOAD_ALL_ADN_LIKE_DONE消息,
最后处理IccPhoneBookInterfaceManager的EVENT_LOAD_DONE消息时唤醒子线程。
回调处理的流程图如下,
IccFileHandler的handleMessage方法对EVENT_EFEXT1_LINEAR_RECORD_SIZE_DONE 消息处理如下,
ar = (AsyncResult)msg.obj; // 获取查询结果信息
lc = (LoadLinearFixedContext) ar.userObj;
result = (IccIoResult) ar.result;
response = lc.mOnLoaded;
•••
sendResult(response, recordSize, null);
sendResult方法逻辑如下,
AsyncResult.forMessage(response, result, ex);
response.sendToTarget(); // 发送消息
发送的消息是AdnRecordCache的EVENT_LOAD_ALL_ADN_LIKE_DONE消息,
AdnRecordCache的handleMessage方法对该消息处理逻辑如下,
1,获取查询结果,
a