From 9f04c28bfd2b21ec8d680bc90e80f5c6f28bc76a Mon Sep 17 00:00:00 2001 From: Greyson Parrelli Date: Fri, 1 Feb 2019 09:06:59 -0800 Subject: [PATCH] Implemented conversation search. You can now search for messages within a specific conversation. --- res/layout/conversation_activity.xml | 10 +- res/layout/conversation_search_nav.xml | 76 +++++++++ res/menu/conversation.xml | 9 +- res/values/strings.xml | 2 + .../securesms/BindableConversationItem.java | 1 + .../securesms/ConversationListItem.java | 55 +------ .../securesms/DatabaseUpgradeActivity.java | 2 + .../securesms/MessageDetailsActivity.java | 2 +- .../ConversationSearchBottomBar.java | 88 +++++++++++ .../conversation/ConversationActivity.java | 105 ++++++++++++- .../conversation/ConversationAdapter.java | 7 + .../conversation/ConversationFragment.java | 86 +++++----- .../conversation/ConversationItem.java | 15 +- .../ConversationSearchViewModel.java | 147 ++++++++++++++++++ .../conversation/ConversationUpdateItem.java | 1 + .../securesms/database/CursorList.java | 6 + .../database/CursorRecyclerViewAdapter.java | 6 +- .../securesms/database/MmsSmsDatabase.java | 20 +++ .../securesms/database/SearchDatabase.java | 92 ++++++++--- .../database/helpers/SQLCipherOpenHelper.java | 78 +++++++++- .../securesms/search/SearchFragment.java | 2 +- .../securesms/search/SearchRepository.java | 81 +++++++--- .../securesms/search/SearchViewModel.java | 13 +- .../securesms/search/model/MessageResult.java | 15 +- .../securesms/util/CloseableLiveData.java | 35 +++++ .../securesms/util/SearchUtil.java | 96 ++++++++++++ .../securesms/util/SearchUtilTest.java | 65 ++++++++ 27 files changed, 964 insertions(+), 151 deletions(-) create mode 100644 res/layout/conversation_search_nav.xml create mode 100644 src/org/thoughtcrime/securesms/components/ConversationSearchBottomBar.java create mode 100644 src/org/thoughtcrime/securesms/conversation/ConversationSearchViewModel.java create mode 100644 src/org/thoughtcrime/securesms/util/CloseableLiveData.java create mode 100644 src/org/thoughtcrime/securesms/util/SearchUtil.java create mode 100644 test/unitTest/java/org/thoughtcrime/securesms/util/SearchUtilTest.java diff --git a/res/layout/conversation_activity.xml b/res/layout/conversation_activity.xml index 7a92c24e20..ec2bbf6e37 100644 --- a/res/layout/conversation_activity.xml +++ b/res/layout/conversation_activity.xml @@ -54,7 +54,15 @@ android:layout_width="match_parent" android:layout_height="wrap_content"/> - + + + + + + +