diff options
| author | 2011-03-23 16:05:52 -0700 | |
|---|---|---|
| committer | 2011-03-23 16:05:52 -0700 | |
| commit | 464b2259c9c70b36c534e8f2380ff45130a84c66 (patch) | |
| tree | 1652e8b86079276f3c9d329d002ba445f9e28393 | |
| parent | a450ef06689b44415a3bbbfb4aaad082189eb7ad (diff) | |
| parent | 6b68779ab31f410acb3036eafba73d0781db4d91 (diff) | |
Merge "Fix NPE in CatService.encodeOptionalTags." into honeycomb-LTE
| -rw-r--r-- | telephony/java/com/android/internal/telephony/cat/CatService.java | 43 |
1 files changed, 24 insertions, 19 deletions
diff --git a/telephony/java/com/android/internal/telephony/cat/CatService.java b/telephony/java/com/android/internal/telephony/cat/CatService.java index 36059add380f..a6c7777f5696 100644 --- a/telephony/java/com/android/internal/telephony/cat/CatService.java +++ b/telephony/java/com/android/internal/telephony/cat/CatService.java @@ -375,25 +375,30 @@ public class CatService extends Handler implements AppInterface { private void encodeOptionalTags(CommandDetails cmdDet, ResultCode resultCode, Input cmdInput, ByteArrayOutputStream buf) { - switch (AppInterface.CommandType.fromInt(cmdDet.typeOfCommand)) { - case GET_INKEY: - // ETSI TS 102 384,27.22.4.2.8.4.2. - // If it is a response for GET_INKEY command and the response timeout - // occured, then add DURATION TLV for variable timeout case. - if ((resultCode.value() == ResultCode.NO_RESPONSE_FROM_USER.value()) && - (cmdInput != null) && (cmdInput.duration != null)) { - getInKeyResponse(buf, cmdInput); - } - break; - case PROVIDE_LOCAL_INFORMATION: - if ((cmdDet.commandQualifier == CommandParamsFactory.LANGUAGE_SETTING) && - (resultCode.value() == ResultCode.OK.value())) { - getPliResponse(buf); - } - break; - default: - CatLog.d(this, "encodeOptionalTags() Unsupported Cmd:" + cmdDet.typeOfCommand); - break; + CommandType cmdType = AppInterface.CommandType.fromInt(cmdDet.typeOfCommand); + if (cmdType != null) { + switch (cmdType) { + case GET_INKEY: + // ETSI TS 102 384,27.22.4.2.8.4.2. + // If it is a response for GET_INKEY command and the response timeout + // occured, then add DURATION TLV for variable timeout case. + if ((resultCode.value() == ResultCode.NO_RESPONSE_FROM_USER.value()) && + (cmdInput != null) && (cmdInput.duration != null)) { + getInKeyResponse(buf, cmdInput); + } + break; + case PROVIDE_LOCAL_INFORMATION: + if ((cmdDet.commandQualifier == CommandParamsFactory.LANGUAGE_SETTING) && + (resultCode.value() == ResultCode.OK.value())) { + getPliResponse(buf); + } + break; + default: + CatLog.d(this, "encodeOptionalTags() Unsupported Cmd:" + cmdDet.typeOfCommand); + break; + } + } else { + CatLog.d(this, "encodeOptionalTags() bad Cmd:" + cmdDet.typeOfCommand); } } |