diff options
| author | Brian Attwell <brianattwell@google.com> | 2014-09-25 11:20:49 -0700 |
|---|---|---|
| committer | Brian Attwell <brianattwell@google.com> | 2014-09-25 11:23:26 -0700 |
| commit | ae6c7170daf92a91b9a189a985cd6d06817d92bd (patch) | |
| tree | 429a4e10d5ba0d508b294d49d8f645eff05f1f91 /src | |
| parent | f17f057bfa9e470535123894e221af2c8bca2097 (diff) | |
| download | packages_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.java | 12 |
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()); |
