From 44a0a428f54478aedf5478dd807265f2c924c04a Mon Sep 17 00:00:00 2001 From: Mikunj Date: Mon, 3 Feb 2020 13:53:58 +1100 Subject: [PATCH] Don't send a friend request message to a group. --- .../securesms/conversation/ConversationActivity.java | 4 ++-- src/org/thoughtcrime/securesms/jobs/TypingSendJob.java | 5 +++++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/org/thoughtcrime/securesms/conversation/ConversationActivity.java b/src/org/thoughtcrime/securesms/conversation/ConversationActivity.java index 16288cd2e6..c247c95f90 100644 --- a/src/org/thoughtcrime/securesms/conversation/ConversationActivity.java +++ b/src/org/thoughtcrime/securesms/conversation/ConversationActivity.java @@ -2452,7 +2452,7 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity // Loki - Send a friend request if we're not yet friends with the user in question LokiThreadFriendRequestStatus friendRequestStatus = DatabaseFactory.getLokiThreadDatabase(context).getFriendRequestStatus(threadId); - outgoingMessage.isFriendRequest = (friendRequestStatus != LokiThreadFriendRequestStatus.FRIENDS); // Needed for stageOutgoingMessage(...) + outgoingMessage.isFriendRequest = !isGroupConversation() && friendRequestStatus != LokiThreadFriendRequestStatus.FRIENDS; // Needed for stageOutgoingMessage(...) Permissions.with(this) .request(Manifest.permission.SEND_SMS, Manifest.permission.READ_SMS) @@ -2512,7 +2512,7 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity // Loki - Send a friend request if we're not yet friends with the user in question LokiThreadFriendRequestStatus friendRequestStatus = DatabaseFactory.getLokiThreadDatabase(context).getFriendRequestStatus(threadId); - message.isFriendRequest = (friendRequestStatus != LokiThreadFriendRequestStatus.FRIENDS); // Needed for stageOutgoingMessage(...) + message.isFriendRequest = !isGroupConversation() && friendRequestStatus != LokiThreadFriendRequestStatus.FRIENDS; // Needed for stageOutgoingMessage(...) Permissions.with(this) .request(Manifest.permission.SEND_SMS) diff --git a/src/org/thoughtcrime/securesms/jobs/TypingSendJob.java b/src/org/thoughtcrime/securesms/jobs/TypingSendJob.java index babe7fe04e..c6ecc30e2f 100644 --- a/src/org/thoughtcrime/securesms/jobs/TypingSendJob.java +++ b/src/org/thoughtcrime/securesms/jobs/TypingSendJob.java @@ -20,6 +20,7 @@ import org.whispersystems.signalservice.api.crypto.UnidentifiedAccessPair; import org.whispersystems.signalservice.api.messages.SignalServiceTypingMessage; import org.whispersystems.signalservice.api.messages.SignalServiceTypingMessage.Action; import org.whispersystems.signalservice.api.push.SignalServiceAddress; +import org.whispersystems.signalservice.loki.messaging.LokiThreadFriendRequestStatus; import org.whispersystems.signalservice.loki.utilities.PromiseUtil; import java.util.Collections; @@ -101,6 +102,10 @@ public class TypingSendJob extends BaseJob implements InjectableType { // Loki - Don't send typing indicators in group chats or to ourselves if (recipient.isGroupRecipient()) { return; } + + LokiThreadFriendRequestStatus friendRequestStatus = DatabaseFactory.getLokiThreadDatabase(context).getFriendRequestStatus(threadId); + if (friendRequestStatus != LokiThreadFriendRequestStatus.FRIENDS) { return; } + boolean isOurDevice = PromiseUtil.get(MultiDeviceUtilities.isOneOfOurDevices(context, recipient.getAddress()), false); if (!isOurDevice) { messageSender.sendTyping(0, addresses, unidentifiedAccess, typingMessage);