package org.thoughtcrime.securesms; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import org.thoughtcrime.securesms.database.model.MessageRecord; import org.thoughtcrime.securesms.database.model.MmsMessageRecord; import org.thoughtcrime.securesms.mms.GlideRequests; import org.session.libsignal.libsignal.util.guava.Optional; import org.session.libsession.messaging.sending_receiving.link_preview.LinkPreview; import org.session.libsession.messaging.threads.Address; import org.session.libsession.messaging.threads.recipients.Recipient; import java.util.Locale; import java.util.Set; public interface BindableConversationItem extends Unbindable { void bind(@NonNull MessageRecord messageRecord, @NonNull Optional previousMessageRecord, @NonNull Optional nextMessageRecord, @NonNull GlideRequests glideRequests, @NonNull Locale locale, @NonNull Set batchSelected, @NonNull Recipient recipients, @Nullable String searchQuery, boolean pulseHighlight); MessageRecord getMessageRecord(); void setEventListener(@Nullable EventListener listener); interface EventListener { void onQuoteClicked(MmsMessageRecord messageRecord); void onLinkPreviewClicked(@NonNull LinkPreview linkPreview); void onMoreTextClicked(@NonNull Address conversationAddress, long messageId, boolean isMms); } }