Methods Summary |
---|
private boolean | decodeMessageParams(RilMessage rilMsg)
boolean decodingStarted;
mCurrentRilMessage = rilMsg;
switch(rilMsg.mId) {
case StkService.MSG_ID_SESSION_END:
case StkService.MSG_ID_CALL_SETUP:
mCurrentRilMessage.mResCode = ResultCode.OK;
sendCmdForExecution(mCurrentRilMessage);
decodingStarted = false;
break;
case StkService.MSG_ID_PROACTIVE_COMMAND:
case StkService.MSG_ID_EVENT_NOTIFY:
case StkService.MSG_ID_REFRESH:
byte[] rawData = null;
try {
rawData = SimUtils.hexStringToBytes((String) rilMsg.mData);
} catch (Exception e) {
// zombie messages are dropped
StkLog.d(this, "decodeMessageParams dropping zombie messages");
decodingStarted = false;
break;
}
try {
// Start asynch parsing of the command parameters.
mCmdParamsFactory.make(BerTlv.decode(rawData));
decodingStarted = true;
} catch (ResultException e) {
// send to Service for proper RIL communication.
mCurrentRilMessage.mResCode = e.result();
sendCmdForExecution(mCurrentRilMessage);
decodingStarted = false;
}
break;
default:
decodingStarted = false;
break;
}
return decodingStarted;
|
public static synchronized com.android.internal.telephony.gsm.stk.RilMessageDecoder | getInstance(android.os.Handler caller, com.android.internal.telephony.gsm.SIMFileHandler fh)Get the singleton instance, constructing if necessary.
if (sInstance == null) {
sInstance = new RilMessageDecoder(caller, fh);
}
return sInstance;
|
private void | sendCmdForExecution(RilMessage rilMsg)
Message msg = mCaller.obtainMessage(StkService.MSG_ID_RIL_MSG_DECODED,
new RilMessage(rilMsg));
msg.sendToTarget();
|
public void | sendMessageParamsDecoded(ResultCode resCode, CommandParams cmdParams)The command parameters have been decoded.
Message msg = obtainMessage(RilMessageDecoder.CMD_PARAMS_READY);
msg.arg1 = resCode.value();
msg.obj = cmdParams;
sendMessage(msg);
|
public void | sendStartDecodingMessageParams(RilMessage rilMsg)Start decoding the message parameters,
when complete MSG_ID_RIL_MSG_DECODED will be returned to caller.
Message msg = obtainMessage(START);
msg.obj = rilMsg;
sendMessage(msg);
|