mirror of
https://github.com/oxen-io/session-android.git
synced 2024-11-27 12:05:22 +00:00
refactor: quotes also render for mention only notification style, fix mention manager not having public keys for conversations on load
This commit is contained in:
parent
270af061d6
commit
7bf3b7a033
@ -87,10 +87,7 @@ import org.thoughtcrime.securesms.conversation.v2.menus.ConversationMenuHelper
|
||||
import org.thoughtcrime.securesms.conversation.v2.messages.*
|
||||
import org.thoughtcrime.securesms.conversation.v2.search.SearchBottomBar
|
||||
import org.thoughtcrime.securesms.conversation.v2.search.SearchViewModel
|
||||
import org.thoughtcrime.securesms.conversation.v2.utilities.AttachmentManager
|
||||
import org.thoughtcrime.securesms.conversation.v2.utilities.BaseDialog
|
||||
import org.thoughtcrime.securesms.conversation.v2.utilities.MentionUtilities
|
||||
import org.thoughtcrime.securesms.conversation.v2.utilities.ResendMessageUtilities
|
||||
import org.thoughtcrime.securesms.conversation.v2.utilities.*
|
||||
import org.thoughtcrime.securesms.crypto.IdentityKeyUtil
|
||||
import org.thoughtcrime.securesms.crypto.MnemonicUtilities
|
||||
import org.thoughtcrime.securesms.database.DatabaseFactory
|
||||
@ -322,6 +319,7 @@ class ConversationActivityV2 : PassphraseRequiredActionBarActivity(), InputBarDe
|
||||
val size = resources.getDimension(sizeID).roundToInt()
|
||||
profilePictureView.layoutParams = LinearLayout.LayoutParams(size, size)
|
||||
profilePictureView.glide = glide
|
||||
MentionManagerUtilities.populateUserPublicKeyCacheIfNeeded(threadID, this)
|
||||
profilePictureView.update(thread, threadID)
|
||||
}
|
||||
|
||||
|
@ -40,6 +40,7 @@ import androidx.core.app.NotificationCompat;
|
||||
import androidx.core.app.NotificationManagerCompat;
|
||||
|
||||
import org.session.libsession.messaging.sending_receiving.notifications.MessageNotifier;
|
||||
import org.session.libsession.utilities.Address;
|
||||
import org.session.libsession.utilities.Contact;
|
||||
import org.session.libsession.utilities.ServiceUtil;
|
||||
import org.session.libsession.utilities.TextSecurePreferences;
|
||||
@ -59,6 +60,7 @@ import org.thoughtcrime.securesms.database.ThreadDatabase;
|
||||
import org.thoughtcrime.securesms.database.model.MediaMmsMessageRecord;
|
||||
import org.thoughtcrime.securesms.database.model.MessageRecord;
|
||||
import org.thoughtcrime.securesms.database.model.MmsMessageRecord;
|
||||
import org.thoughtcrime.securesms.database.model.Quote;
|
||||
import org.thoughtcrime.securesms.mms.SlideDeck;
|
||||
import org.thoughtcrime.securesms.service.KeyCachingService;
|
||||
import org.thoughtcrime.securesms.util.SessionMetaProtocol;
|
||||
@ -67,6 +69,7 @@ import org.thoughtcrime.securesms.util.SpanUtil;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.ListIterator;
|
||||
import java.util.Objects;
|
||||
import java.util.Set;
|
||||
import java.util.concurrent.Executor;
|
||||
import java.util.concurrent.Executors;
|
||||
@ -503,7 +506,15 @@ public class DefaultMessageNotifier implements MessageNotifier {
|
||||
if (threadRecipients == null || !threadRecipients.isMuted()) {
|
||||
if (threadRecipients != null && threadRecipients.notifyType == RecipientDatabase.NOTIFY_TYPE_MENTIONS) {
|
||||
// check if mentioned here
|
||||
if (body.toString().contains("@"+TextSecurePreferences.getLocalNumber(context))) {
|
||||
boolean isQuoteMentioned = false;
|
||||
if (record instanceof MmsMessageRecord) {
|
||||
Quote quote = ((MmsMessageRecord) record).getQuote();
|
||||
Address quoteAddress = quote != null ? quote.getAuthor() : null;
|
||||
String serializedAddress = quoteAddress != null ? quoteAddress.serialize() : null;
|
||||
isQuoteMentioned = serializedAddress != null && Objects.equals(TextSecurePreferences.getLocalNumber(context), serializedAddress);
|
||||
}
|
||||
if (body.toString().contains("@"+TextSecurePreferences.getLocalNumber(context))
|
||||
|| isQuoteMentioned) {
|
||||
notificationState.addNotification(new NotificationItem(id, mms, recipient, conversationRecipient, threadRecipients, threadId, body, timestamp, slideDeck));
|
||||
}
|
||||
} else if (threadRecipients != null && threadRecipients.notifyType == RecipientDatabase.NOTIFY_TYPE_NONE) {
|
||||
|
Loading…
Reference in New Issue
Block a user