Use correct format info for SMS
Use correct format to
- Parse SMS delivery report.
- Dump/Load SMS to/from the dump file.
TODO: Update message text state during composing.
Test: Manual
Change-Id: I7e53bed86130484a634c9305b276e2586db31796
Signed-off-by: Taesu Lee <taesu82.lee@samsung.com>
diff --git a/src/com/android/messaging/receiver/SmsReceiver.java b/src/com/android/messaging/receiver/SmsReceiver.java
index 859beff..b54359f 100644
--- a/src/com/android/messaging/receiver/SmsReceiver.java
+++ b/src/com/android/messaging/receiver/SmsReceiver.java
@@ -192,7 +192,7 @@
intent, EXTRA_SUB_ID);
deliverSmsMessages(context, subId, errorCode, messages);
if (MmsUtils.isDumpSmsEnabled()) {
- final String format = null;
+ final String format = intent.getStringExtra("format");
DebugUtils.dumpSms(messages[0].getTimestampMillis(), messages, format);
}
}
diff --git a/src/com/android/messaging/sms/MmsUtils.java b/src/com/android/messaging/sms/MmsUtils.java
index 9c4c2d5..74a9191 100644
--- a/src/com/android/messaging/sms/MmsUtils.java
+++ b/src/com/android/messaging/sms/MmsUtils.java
@@ -1194,7 +1194,8 @@
public static SmsMessage getSmsMessageFromDeliveryReport(final Intent intent) {
final byte[] pdu = intent.getByteArrayExtra("pdu");
- return SmsMessage.createFromPdu(pdu);
+ final String format = intent.getStringExtra("format");
+ return SmsMessage.createFromPdu(pdu, format);
}
/**
diff --git a/src/com/android/messaging/util/DebugUtils.java b/src/com/android/messaging/util/DebugUtils.java
index 1362f83..0d689fe 100644
--- a/src/com/android/messaging/util/DebugUtils.java
+++ b/src/com/android/messaging/util/DebugUtils.java
@@ -291,9 +291,10 @@
dis = new DataInputStream(fis);
// SMS dump
+ String format = null;
final int chars = dis.readInt();
if (chars > 0) {
- final String format = dis.readUTF();
+ format = dis.readUTF();
}
final int count = dis.readInt();
final SmsMessage[] messagesTemp = new SmsMessage[count];
@@ -301,7 +302,11 @@
final int length = dis.readInt();
final byte[] pdu = new byte[length];
dis.read(pdu, 0, length);
- messagesTemp[i] = SmsMessage.createFromPdu(pdu);
+ if (format == null) {
+ messagesTemp[i] = SmsMessage.createFromPdu(pdu);
+ } else {
+ messagesTemp[i] = SmsMessage.createFromPdu(pdu, format);
+ }
}
messages = messagesTemp;
} catch (final FileNotFoundException e) {