session-android/app/src/main/java/org/thoughtcrime/securesms/BindableConversationItem.java

40 lines
1.5 KiB
Java
Raw Normal View History

package org.thoughtcrime.securesms;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
2021-01-15 05:36:30 +01:00
import org.thoughtcrime.securesms.database.model.MessageRecord;
import org.thoughtcrime.securesms.database.model.MmsMessageRecord;
import org.thoughtcrime.securesms.mms.GlideRequests;
2021-05-18 01:26:08 +02:00
import org.session.libsignal.utilities.guava.Optional;
2021-04-26 03:23:09 +02:00
import org.session.libsession.messaging.sending_receiving.link_preview.LinkPreview;
2021-05-18 08:11:38 +02:00
import org.session.libsession.utilities.Address;
2021-05-18 08:03:47 +02:00
import org.session.libsession.utilities.recipients.Recipient;
2021-01-15 05:36:30 +01:00
import java.util.Locale;
import java.util.Set;
public interface BindableConversationItem extends Unbindable {
2018-06-26 19:27:44 +02:00
void bind(@NonNull MessageRecord messageRecord,
@NonNull Optional<MessageRecord> previousMessageRecord,
@NonNull Optional<MessageRecord> nextMessageRecord,
@NonNull GlideRequests glideRequests,
@NonNull Locale locale,
@NonNull Set<MessageRecord> batchSelected,
@NonNull Recipient recipients,
@Nullable String searchQuery,
2018-06-26 19:27:44 +02:00
boolean pulseHighlight);
MessageRecord getMessageRecord();
void setEventListener(@Nullable EventListener listener);
interface EventListener {
void onQuoteClicked(MmsMessageRecord messageRecord);
2019-01-15 09:41:05 +01:00
void onLinkPreviewClicked(@NonNull LinkPreview linkPreview);
void onMoreTextClicked(@NonNull Address conversationAddress, long messageId, boolean isMms);
}
}