summaryrefslogtreecommitdiffstats
path: root/telephony
diff options
context:
space:
mode:
authorjsh <jsh@google.com>2009-08-11 17:25:37 -0700
committerjsh <jsh@google.com>2009-08-11 17:25:37 -0700
commit7f304d2cce936ac273aaa4d1ee998292ba5755f4 (patch)
tree5347e00d9d3e3a73c3c2511b648f9acbb8802659 /telephony
parenteccd6fdd0d86b8610b738fc15c707eedc00ec9dc (diff)
downloadframeworks_base-7f304d2cce936ac273aaa4d1ee998292ba5755f4.zip
frameworks_base-7f304d2cce936ac273aaa4d1ee998292ba5755f4.tar.gz
frameworks_base-7f304d2cce936ac273aaa4d1ee998292ba5755f4.tar.bz2
Fix for sending 16-bit SMS message with header.
Header length was missing from the PDU. This addresses http://b/issue?id=2040561
Diffstat (limited to 'telephony')
-rw-r--r--telephony/java/com/android/internal/telephony/gsm/SmsMessage.java8
1 files changed, 5 insertions, 3 deletions
diff --git a/telephony/java/com/android/internal/telephony/gsm/SmsMessage.java b/telephony/java/com/android/internal/telephony/gsm/SmsMessage.java
index f1207e4..af59126 100644
--- a/telephony/java/com/android/internal/telephony/gsm/SmsMessage.java
+++ b/telephony/java/com/android/internal/telephony/gsm/SmsMessage.java
@@ -277,10 +277,12 @@ public class SmsMessage extends SmsMessageBase{
}
if (header != null) {
- userData = new byte[header.length + textPart.length];
+ // Need 1 byte for UDHL
+ userData = new byte[header.length + textPart.length + 1];
- System.arraycopy(header, 0, userData, 0, header.length);
- System.arraycopy(textPart, 0, userData, header.length, textPart.length);
+ userData[0] = (byte)header.length;
+ System.arraycopy(header, 0, userData, 1, header.length);
+ System.arraycopy(textPart, 0, userData, header.length + 1, textPart.length);
}
else {
userData = textPart;