diff options
author | TreeHugger Robot <treehugger-gerrit@google.com> | 2016-06-17 02:00:35 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2016-06-17 02:00:35 +0000 |
commit | c1d59e24dfc90a54ef87488755ef256e97e0184f (patch) | |
tree | d79bca5b472ed301ee512b723ecd03b0369be38e | |
parent | 262f17d4f383e800b0d4564e77e1a736e41b6bb0 (diff) | |
parent | f4eb0fcd044fc7134b26d17f05b42ff9323ffc61 (diff) | |
download | base-c1d59e24dfc90a54ef87488755ef256e97e0184f.tar.gz |
Merge "Do not create SmsMessage obj if it cannot be parsed correctly." into nyc-mr1-dev
-rw-r--r-- | src/java/android/provider/Telephony.java | 4 | ||||
-rw-r--r-- | src/java/android/telephony/SmsMessage.java | 21 |
2 files changed, 20 insertions, 5 deletions
diff --git a/src/java/android/provider/Telephony.java b/src/java/android/provider/Telephony.java index 7c9425856828..943a6cade853 100644 --- a/src/java/android/provider/Telephony.java +++ b/src/java/android/provider/Telephony.java @@ -1131,7 +1131,7 @@ public final class Telephony { public static final String ACTION_EXTERNAL_PROVIDER_CHANGE = "android.provider.action.EXTERNAL_PROVIDER_CHANGE"; - /** + /** * Read the PDUs out of an {@link #SMS_RECEIVED_ACTION} or a * {@link #DATA_SMS_RECEIVED_ACTION} intent. * @@ -1165,7 +1165,7 @@ public final class Telephony { for (int i = 0; i < pduCount; i++) { byte[] pdu = (byte[]) messages[i]; msgs[i] = SmsMessage.createFromPdu(pdu, format); - msgs[i].setSubId(subId); + if (msgs[i] != null) msgs[i].setSubId(subId); } return msgs; } diff --git a/src/java/android/telephony/SmsMessage.java b/src/java/android/telephony/SmsMessage.java index 71ebd7dfdc04..73e1f1a6ea0e 100644 --- a/src/java/android/telephony/SmsMessage.java +++ b/src/java/android/telephony/SmsMessage.java @@ -204,7 +204,12 @@ public class SmsMessage { return null; } - return new SmsMessage(wrappedMessage); + if (wrappedMessage != null) { + return new SmsMessage(wrappedMessage); + } else { + Rlog.e(LOG_TAG, "createFromPdu(): wrappedMessage is null"); + return null; + } } /** @@ -221,7 +226,12 @@ public class SmsMessage { SmsMessageBase wrappedMessage = com.android.internal.telephony.gsm.SmsMessage.newFromCMT(lines); - return new SmsMessage(wrappedMessage); + if (wrappedMessage != null) { + return new SmsMessage(wrappedMessage); + } else { + Rlog.e(LOG_TAG, "newFromCMT(): wrappedMessage is null"); + return null; + } } /** @hide */ @@ -254,7 +264,12 @@ public class SmsMessage { index, data); } - return wrappedMessage != null ? new SmsMessage(wrappedMessage) : null; + if (wrappedMessage != null) { + return new SmsMessage(wrappedMessage); + } else { + Rlog.e(LOG_TAG, "createFromEfRecord(): wrappedMessage is null"); + return null; + } } /** |