Sunday, October 18, 2009

Android: StkService

http://en.wikipedia.org/wiki/Basic_Encoding_Rules

frameworks/base/telephony/java/com/android/internal/telephony/gsm/stk
packages/apps/Stk/src/com/android/stk

1. StkService::handleMessage()
receive RIL message MSG_ID_PROACTIVE_COMMAND, the process begin

2. RilMessageDecoder::sendStartDecodingMessageParams()
RilMessageDecoder::decodeMessageParams()

There are 2 state in decoder, StateStart/StateCmdParamsReady, before and after decode. Decoding is done by CommandParamsFactory::make(). The STK is in BER-TLV format. After decode, it will send MSG_ID_RIL_MSG_DECODED to StkService, then broadcast an STK_CMD_ACTION intent.

3. StkCmdReceiver::onReceive()
Get STK_CMD_ACTION, start StkAppService and pass the intent to do the action.

No comments:

Related Posts Plugin for WordPress, Blogger...