summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTreeHugger Robot <treehugger-gerrit@google.com>2016-06-17 02:00:35 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2016-06-17 02:00:35 +0000
commitc1d59e24dfc90a54ef87488755ef256e97e0184f (patch)
treed79bca5b472ed301ee512b723ecd03b0369be38e
parent262f17d4f383e800b0d4564e77e1a736e41b6bb0 (diff)
parentf4eb0fcd044fc7134b26d17f05b42ff9323ffc61 (diff)
downloadbase-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.java4
-rw-r--r--src/java/android/telephony/SmsMessage.java21
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;
+ }
}
/**