int id = p.readInt();
switch (id) {
case RIL_CDMA_DISPLAY_INFO_REC:
case RIL_CDMA_EXTENDED_DISPLAY_INFO_REC:
record = new CdmaDisplayInfoRec(id, p.readString());
break;
case RIL_CDMA_CALLED_PARTY_NUMBER_INFO_REC:
case RIL_CDMA_CALLING_PARTY_NUMBER_INFO_REC:
case RIL_CDMA_CONNECTED_NUMBER_INFO_REC:
record = new CdmaNumberInfoRec(id, p.readString(), p.readInt(), p.readInt(),
p.readInt(), p.readInt());
break;
case RIL_CDMA_SIGNAL_INFO_REC:
record = new CdmaSignalInfoRec(p.readInt(), p.readInt(), p.readInt(), p.readInt());
break;
case RIL_CDMA_REDIRECTING_NUMBER_INFO_REC:
record = new CdmaRedirectingNumberInfoRec(p.readString(), p.readInt(), p.readInt(),
p.readInt(), p.readInt(), p.readInt());
break;
case RIL_CDMA_LINE_CONTROL_INFO_REC:
record = new CdmaLineControlInfoRec(p.readInt(), p.readInt(), p.readInt(),
p.readInt());
break;
case RIL_CDMA_T53_CLIR_INFO_REC:
record = new CdmaT53ClirInfoRec(p.readInt());
break;
case RIL_CDMA_T53_AUDIO_CONTROL_INFO_REC:
record = new CdmaT53AudioControlInfoRec(p.readInt(), p.readInt());
break;
case RIL_CDMA_T53_RELEASE_INFO_REC:
// TODO: WHAT to do, for now fall through and throw exception
default:
throw new RuntimeException("RIL_UNSOL_CDMA_INFO_REC: unsupported record. Got "
+ CdmaInformationRecords.idToString(id) + " ");
}