/**
   * Create an SmsMessage from an SMS EF record.
   *
   * @param index Index of SMS record. This should be index in ArrayList returned by
   *     SmsManager.getAllMessagesFromSim + 1.
   * @param data Record data.
   * @return An SmsMessage representing the record.
   * @hide
   */
  public static GeminiSmsMessage createFromEfRecord(int index, byte[] data, int simId) {

    String format = GeminiSmsMessage.getSmsFormat(simId);

    SmsMessage sms = createFromEfRecord(index, data, format);

    return sms == null ? null : new GeminiSmsMessage(sms, simId);
  }
 /**
  * Returns the tpdu from the pdu
  *
  * @return the tpdu for the message.
  * @hide
  */
 public byte[] getTpdu() {
   if (FeatureOption.EVDO_DT_VIA_SUPPORT == true) {
     String format = GeminiSmsMessage.getSmsFormat(simId);
     return getTpdu(format);
   } else {
     return super.getTpdu();
   }
 }
 /**
  * Create an SmsMessage from a raw PDU.
  *
  * @param pdu raw data for creating short message
  * @param simId SIM ID
  */
 public static GeminiSmsMessage createFromPdu(byte[] pdu, int simId) {
   String format = GeminiSmsMessage.getSmsFormat(simId);
   Rlog.d(LOG_TAG, "create SmsMessage from pdu with format " + format);
   SmsMessage sms = createFromPdu(pdu, format);
   if (sms != null) {
     return new GeminiSmsMessage(sms, simId);
   } else {
     Rlog.d(LOG_TAG, "fail to create SmsMessage from pdu");
     return null;
   }
 }