am ddeba83b: Merge "Consider EF-SMS for both gsm and cdma"
* commit 'ddeba83b6c611b3c408df12ae6de8a22a4311047':
Consider EF-SMS for both gsm and cdma
diff --git a/src/java/com/android/internal/telephony/IccSmsInterfaceManager.java b/src/java/com/android/internal/telephony/IccSmsInterfaceManager.java
index 1572a4e..938fd38 100644
--- a/src/java/com/android/internal/telephony/IccSmsInterfaceManager.java
+++ b/src/java/com/android/internal/telephony/IccSmsInterfaceManager.java
@@ -483,7 +483,12 @@
* @return byte array for the record.
*/
protected byte[] makeSmsRecordData(int status, byte[] pdu) {
- byte[] data = new byte[IccConstants.SMS_RECORD_LENGTH];
+ byte[] data;
+ if (PhoneConstants.PHONE_TYPE_GSM == mPhone.getPhoneType()) {
+ data = new byte[IccConstants.SMS_RECORD_LENGTH];
+ } else {
+ data = new byte[IccConstants.CDMA_SMS_RECORD_LENGTH];
+ }
// Status bits for this record. See TS 51.011 10.5.3
data[0] = (byte)(status & 7);
@@ -491,7 +496,7 @@
System.arraycopy(pdu, 0, data, 1, pdu.length);
// Pad out with 0xFF's.
- for (int j = pdu.length+1; j < IccConstants.SMS_RECORD_LENGTH; j++) {
+ for (int j = pdu.length+1; j < data.length; j++) {
data[j] = -1;
}
diff --git a/src/java/com/android/internal/telephony/uicc/IccConstants.java b/src/java/com/android/internal/telephony/uicc/IccConstants.java
index 26ae602..ae1c442 100644
--- a/src/java/com/android/internal/telephony/uicc/IccConstants.java
+++ b/src/java/com/android/internal/telephony/uicc/IccConstants.java
@@ -79,6 +79,8 @@
// SMS record length from TS 51.011 10.5.3
static public final int SMS_RECORD_LENGTH = 176;
+ // SMS record length from C.S0023 3.4.27
+ static public final int CDMA_SMS_RECORD_LENGTH = 255;
static final String MF_SIM = "3F00";
static final String DF_TELECOM = "7F10";