From 2f879ce4d649abf8ae331f68e6c9961cbf321de9 Mon Sep 17 00:00:00 2001 From: Alex Hart Date: Tue, 31 Mar 2020 16:00:26 -0300 Subject: [PATCH] Remove MMS groups from message request logic. --- .../thoughtcrime/securesms/database/GroupDatabase.java | 10 +++++----- .../messagerequests/MessageRequestRepository.java | 2 +- .../securesms/recipients/RecipientUtil.java | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/database/GroupDatabase.java b/app/src/main/java/org/thoughtcrime/securesms/database/GroupDatabase.java index a0ada225e8..76a0f12ebd 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/database/GroupDatabase.java +++ b/app/src/main/java/org/thoughtcrime/securesms/database/GroupDatabase.java @@ -183,17 +183,17 @@ public final class GroupDatabase extends Database { } } - public List getGroupNamesContainingMember(RecipientId recipientId) { - return Stream.of(getGroupsContainingMember(recipientId)) + public List getPushGroupNamesContainingMember(RecipientId recipientId) { + return Stream.of(getPushGroupsContainingMember(recipientId)) .map(GroupRecord::getTitle) .toList(); } - public List getGroupsContainingMember(RecipientId recipientId) { + public List getPushGroupsContainingMember(RecipientId recipientId) { SQLiteDatabase database = databaseHelper.getReadableDatabase(); String table = TABLE_NAME + " INNER JOIN " + ThreadDatabase.TABLE_NAME + " ON " + TABLE_NAME + "." + RECIPIENT_ID + " = " + ThreadDatabase.TABLE_NAME + "." + ThreadDatabase.RECIPIENT_ID; - String query = MEMBERS + " LIKE ?"; - String[] args = new String[]{"%" + recipientId.serialize() + "%"}; + String query = MEMBERS + " LIKE ? AND " + MMS + " = ?"; + String[] args = new String[]{"%" + recipientId.serialize() + "%", "0"}; String orderBy = ThreadDatabase.TABLE_NAME + "." + ThreadDatabase.DATE + " DESC"; List groups = new LinkedList<>(); diff --git a/app/src/main/java/org/thoughtcrime/securesms/messagerequests/MessageRequestRepository.java b/app/src/main/java/org/thoughtcrime/securesms/messagerequests/MessageRequestRepository.java index 6a73c691f8..03d5a7b2c7 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/messagerequests/MessageRequestRepository.java +++ b/app/src/main/java/org/thoughtcrime/securesms/messagerequests/MessageRequestRepository.java @@ -38,7 +38,7 @@ final class MessageRequestRepository { void getGroups(@NonNull RecipientId recipientId, @NonNull Consumer> onGroupsLoaded) { executor.execute(() -> { GroupDatabase groupDatabase = DatabaseFactory.getGroupDatabase(context); - onGroupsLoaded.accept(groupDatabase.getGroupNamesContainingMember(recipientId)); + onGroupsLoaded.accept(groupDatabase.getPushGroupNamesContainingMember(recipientId)); }); } diff --git a/app/src/main/java/org/thoughtcrime/securesms/recipients/RecipientUtil.java b/app/src/main/java/org/thoughtcrime/securesms/recipients/RecipientUtil.java index 256523a7b5..f762383c6d 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/recipients/RecipientUtil.java +++ b/app/src/main/java/org/thoughtcrime/securesms/recipients/RecipientUtil.java @@ -235,7 +235,7 @@ public class RecipientUtil { @WorkerThread private static boolean isProfileSharedViaGroup(@NonNull Context context, @NonNull Recipient recipient) { - return Stream.of(DatabaseFactory.getGroupDatabase(context).getGroupsContainingMember(recipient.getId())) + return Stream.of(DatabaseFactory.getGroupDatabase(context).getPushGroupsContainingMember(recipient.getId())) .anyMatch(group -> Recipient.resolved(group.getRecipientId()).isProfileSharing()); } }