aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJake Hamby <jhamby@google.com>2013-12-06 10:01:24 -0800
committerAndroid Git Automerger <android-git-automerger@android.com>2013-12-06 10:01:24 -0800
commitf39de086fddea9e9f6b8c56b04d8dd38a84237db (patch)
tree1ce85a6bd03f7ffbc9dff7d1fdeb5c4b752d7b66
parent7330d304407448eceababbe4772253b135674f27 (diff)
parentddeba83b6c611b3c408df12ae6de8a22a4311047 (diff)
downloadtelephony-idea133.tar.gz
am ddeba83b: Merge "Consider EF-SMS for both gsm and cdma"idea133
* commit 'ddeba83b6c611b3c408df12ae6de8a22a4311047': Consider EF-SMS for both gsm and cdma
-rw-r--r--src/java/com/android/internal/telephony/IccSmsInterfaceManager.java9
-rw-r--r--src/java/com/android/internal/telephony/uicc/IccConstants.java2
2 files changed, 9 insertions, 2 deletions
diff --git a/src/java/com/android/internal/telephony/IccSmsInterfaceManager.java b/src/java/com/android/internal/telephony/IccSmsInterfaceManager.java
index 1572a4eba1..938fd3828f 100644
--- a/src/java/com/android/internal/telephony/IccSmsInterfaceManager.java
+++ b/src/java/com/android/internal/telephony/IccSmsInterfaceManager.java
@@ -483,7 +483,12 @@ public class IccSmsInterfaceManager extends ISms.Stub {
* @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 @@ public class IccSmsInterfaceManager extends ISms.Stub {
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 26ae6025a5..ae1c442e98 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 @@ public interface IccConstants {
// 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";