summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorBrian Attwell <brianattwell@google.com>2014-09-25 11:20:49 -0700
committerBrian Attwell <brianattwell@google.com>2014-09-25 11:23:26 -0700
commitae6c7170daf92a91b9a189a985cd6d06817d92bd (patch)
tree429a4e10d5ba0d508b294d49d8f645eff05f1f91 /src
parentf17f057bfa9e470535123894e221af2c8bca2097 (diff)
downloadpackages_apps_Contacts-ae6c7170daf92a91b9a189a985cd6d06817d92bd.tar.gz
packages_apps_Contacts-ae6c7170daf92a91b9a189a985cd6d06817d92bd.tar.bz2
packages_apps_Contacts-ae6c7170daf92a91b9a189a985cd6d06817d92bd.zip
Don't let Threads.getOrCreateThreadId crash us
Bug: 17657656 Change-Id: Ifab9743d6dcd4c6c960abc006eb5288f753f429f
Diffstat (limited to 'src')
-rw-r--r--src/com/android/contacts/interactions/SmsInteractionsLoader.java12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/com/android/contacts/interactions/SmsInteractionsLoader.java b/src/com/android/contacts/interactions/SmsInteractionsLoader.java
index 295c99a46..8d5871282 100644
--- a/src/com/android/contacts/interactions/SmsInteractionsLoader.java
+++ b/src/com/android/contacts/interactions/SmsInteractionsLoader.java
@@ -66,8 +66,13 @@ public class SmsInteractionsLoader extends AsyncTaskLoader<List<ContactInteracti
// Retrieve the thread IDs
List<String> threadIdStrings = new ArrayList<>();
for (String phone : mPhoneNums) {
- threadIdStrings.add(String.valueOf(
- Telephony.Threads.getOrCreateThreadId(getContext(), phone)));
+ try {
+ threadIdStrings.add(String.valueOf(
+ Telephony.Threads.getOrCreateThreadId(getContext(), phone)));
+ } catch (Exception e) {
+ // Do nothing. Telephony.Threads.getOrCreateThreadId() throws exceptions when
+ // it can't find/create a threadId (b/17657656).
+ }
}
// Query the SMS database for the threads
@@ -94,6 +99,9 @@ public class SmsInteractionsLoader extends AsyncTaskLoader<List<ContactInteracti
* Return the most recent messages between a list of threads
*/
private Cursor getSmsCursorFromThreads(List<String> threadIds) {
+ if (threadIds.size() == 0) {
+ return null;
+ }
String selection = Telephony.Sms.THREAD_ID + " IN "
+ ContactInteractionUtil.questionMarks(threadIds.size());