diff --git a/src/org/thoughtcrime/securesms/conversation/ConversationActivity.java b/src/org/thoughtcrime/securesms/conversation/ConversationActivity.java index 57ddd146ee..80c141f9d0 100644 --- a/src/org/thoughtcrime/securesms/conversation/ConversationActivity.java +++ b/src/org/thoughtcrime/securesms/conversation/ConversationActivity.java @@ -145,6 +145,7 @@ import org.thoughtcrime.securesms.database.model.MmsMessageRecord; import org.thoughtcrime.securesms.events.ReminderUpdateEvent; import org.thoughtcrime.securesms.giph.ui.GiphyActivity; import org.thoughtcrime.securesms.jobs.MultiDeviceBlockedUpdateJob; +import org.thoughtcrime.securesms.jobs.PushDecryptJob; import org.thoughtcrime.securesms.jobs.RetrieveProfileJob; import org.thoughtcrime.securesms.jobs.ServiceOutageDetectionJob; import org.thoughtcrime.securesms.linkpreview.LinkPreview; @@ -2684,11 +2685,11 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity } // region Loki - @Override public void acceptFriendRequest(@NotNull MessageRecord friendRequest) { DatabaseFactory.getLokiThreadFriendRequestDatabase(this).setFriendRequestStatus(this.threadId, LokiThreadFriendRequestStatus.FRIENDS); - // TODO: Send empty message + String contactID = DatabaseFactory.getThreadDatabase(this).getRecipientForThreadId(this.threadId).getAddress().toString(); + new PushDecryptJob(this).sendEmptyMessage(contactID); // TODO: Use a better approach for this } @Override diff --git a/src/org/thoughtcrime/securesms/conversation/ConversationAdapter.java b/src/org/thoughtcrime/securesms/conversation/ConversationAdapter.java index d4e7c9d4c6..951e649611 100644 --- a/src/org/thoughtcrime/securesms/conversation/ConversationAdapter.java +++ b/src/org/thoughtcrime/securesms/conversation/ConversationAdapter.java @@ -202,6 +202,9 @@ public class ConversationAdapter MessageRecord nextRecord = adapterPosition > 0 && !isHeaderPosition(adapterPosition - 1) ? getRecordForPositionOrThrow(adapterPosition - 1) : null; BindableConversationItem conversationItem = viewHolder.getView(); + if (conversationItem instanceof ConversationItem) { + ((ConversationItem)conversationItem).friendRequestViewDelegate = this.friendRequestViewDelegate; + } conversationItem.bind(messageRecord, Optional.fromNullable(previousRecord), Optional.fromNullable(nextRecord), @@ -211,9 +214,6 @@ public class ConversationAdapter recipient, searchQuery, messageRecord == recordToPulseHighlight); - if (conversationItem instanceof ConversationItem) { - ((ConversationItem)conversationItem).friendRequestViewDelegate = this.friendRequestViewDelegate; - } if (messageRecord == recordToPulseHighlight) { recordToPulseHighlight = null; diff --git a/src/org/thoughtcrime/securesms/jobs/PushDecryptJob.java b/src/org/thoughtcrime/securesms/jobs/PushDecryptJob.java index f2476c6783..0ad42393ea 100644 --- a/src/org/thoughtcrime/securesms/jobs/PushDecryptJob.java +++ b/src/org/thoughtcrime/securesms/jobs/PushDecryptJob.java @@ -867,7 +867,7 @@ public class PushDecryptJob extends BaseJob implements InjectableType { } } - private void sendEmptyMessage(String contactHexEncodedPublicKey) { + public void sendEmptyMessage(String contactHexEncodedPublicKey) { try { SignalServiceAddress address = new SignalServiceAddress(contactHexEncodedPublicKey); SignalServiceDataMessage message = new SignalServiceDataMessage(System.currentTimeMillis(), "");