mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-04-20 16:49:40 +01:00
committed by
Nicholas Tinsley
parent
aa33fd44b8
commit
ec96b4e3aa
@@ -10,24 +10,25 @@ import androidx.recyclerview.widget.DiffUtil;
|
||||
import androidx.recyclerview.widget.ListAdapter;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.bumptech.glide.RequestManager;
|
||||
|
||||
import org.thoughtcrime.securesms.R;
|
||||
import org.thoughtcrime.securesms.conversation.ConversationMessage;
|
||||
import org.thoughtcrime.securesms.conversation.colors.Colorizer;
|
||||
import org.thoughtcrime.securesms.database.model.MessageRecord;
|
||||
import org.thoughtcrime.securesms.databinding.MessageDetailsViewEditHistoryBinding;
|
||||
import org.thoughtcrime.securesms.mms.GlideRequests;
|
||||
|
||||
final class MessageDetailsAdapter extends ListAdapter<MessageDetailsAdapter.MessageDetailsViewState<?>, RecyclerView.ViewHolder> {
|
||||
|
||||
private final LifecycleOwner lifecycleOwner;
|
||||
private final GlideRequests glideRequests;
|
||||
private final RequestManager requestManager;
|
||||
private final Colorizer colorizer;
|
||||
private final Callbacks callbacks;
|
||||
|
||||
MessageDetailsAdapter(@NonNull LifecycleOwner lifecycleOwner, @NonNull GlideRequests glideRequests, @NonNull Colorizer colorizer, @NonNull Callbacks callbacks) {
|
||||
MessageDetailsAdapter(@NonNull LifecycleOwner lifecycleOwner, @NonNull RequestManager requestManager, @NonNull Colorizer colorizer, @NonNull Callbacks callbacks) {
|
||||
super(new MessageDetailsDiffer());
|
||||
this.lifecycleOwner = lifecycleOwner;
|
||||
this.glideRequests = glideRequests;
|
||||
this.requestManager = requestManager;
|
||||
this.colorizer = colorizer;
|
||||
this.callbacks = callbacks;
|
||||
}
|
||||
@@ -36,7 +37,7 @@ final class MessageDetailsAdapter extends ListAdapter<MessageDetailsAdapter.Mess
|
||||
public @NonNull RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
|
||||
switch (viewType) {
|
||||
case MessageDetailsViewState.MESSAGE_HEADER:
|
||||
return new MessageHeaderViewHolder(LayoutInflater.from(parent.getContext()).inflate(R.layout.message_details_header, parent, false), glideRequests, colorizer);
|
||||
return new MessageHeaderViewHolder(LayoutInflater.from(parent.getContext()).inflate(R.layout.message_details_header, parent, false), requestManager, colorizer);
|
||||
case MessageDetailsViewState.RECIPIENT_HEADER:
|
||||
return new RecipientHeaderViewHolder(LayoutInflater.from(parent.getContext()).inflate(R.layout.message_details_recipient_header, parent, false));
|
||||
case MessageDetailsViewState.RECIPIENT:
|
||||
|
||||
@@ -11,20 +11,20 @@ import androidx.fragment.app.DialogFragment;
|
||||
import androidx.lifecycle.ViewModelProvider;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.bumptech.glide.Glide;
|
||||
import com.bumptech.glide.RequestManager;
|
||||
|
||||
import org.thoughtcrime.securesms.R;
|
||||
import org.thoughtcrime.securesms.components.FullScreenDialogFragment;
|
||||
import org.thoughtcrime.securesms.conversation.colors.Colorizer;
|
||||
import org.thoughtcrime.securesms.conversation.colors.RecyclerViewColorizer;
|
||||
import org.thoughtcrime.securesms.conversation.ui.edit.EditMessageHistoryDialog;
|
||||
import org.thoughtcrime.securesms.database.model.MessageId;
|
||||
import org.thoughtcrime.securesms.database.model.MessageRecord;
|
||||
import org.thoughtcrime.securesms.giph.mp4.GiphyMp4PlaybackController;
|
||||
import org.thoughtcrime.securesms.giph.mp4.GiphyMp4ProjectionPlayerHolder;
|
||||
import org.thoughtcrime.securesms.giph.mp4.GiphyMp4ProjectionRecycler;
|
||||
import org.thoughtcrime.securesms.messagedetails.MessageDetailsAdapter.MessageDetailsViewState;
|
||||
import org.thoughtcrime.securesms.messagedetails.MessageDetailsViewModel.Factory;
|
||||
import org.thoughtcrime.securesms.mms.GlideApp;
|
||||
import org.thoughtcrime.securesms.mms.GlideRequests;
|
||||
import org.thoughtcrime.securesms.recipients.RecipientId;
|
||||
import org.thoughtcrime.securesms.safety.SafetyNumberBottomSheet;
|
||||
import org.thoughtcrime.securesms.util.Material3OnScrollHelper;
|
||||
@@ -39,7 +39,7 @@ public final class MessageDetailsFragment extends FullScreenDialogFragment imple
|
||||
private static final String MESSAGE_ID_EXTRA = "message_id";
|
||||
private static final String RECIPIENT_EXTRA = "recipient_id";
|
||||
|
||||
private GlideRequests glideRequests;
|
||||
private RequestManager requestManager;
|
||||
private MessageDetailsViewModel viewModel;
|
||||
private MessageDetailsAdapter adapter;
|
||||
private Colorizer colorizer;
|
||||
@@ -69,7 +69,7 @@ public final class MessageDetailsFragment extends FullScreenDialogFragment imple
|
||||
|
||||
@Override
|
||||
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
|
||||
glideRequests = GlideApp.with(this);
|
||||
requestManager = Glide.with(this);
|
||||
|
||||
initializeList(view);
|
||||
initializeViewModel();
|
||||
@@ -92,7 +92,7 @@ public final class MessageDetailsFragment extends FullScreenDialogFragment imple
|
||||
View toolbarShadow = view.findViewById(R.id.toolbar_shadow);
|
||||
|
||||
colorizer = new Colorizer();
|
||||
adapter = new MessageDetailsAdapter(getViewLifecycleOwner(), glideRequests, colorizer, this);
|
||||
adapter = new MessageDetailsAdapter(getViewLifecycleOwner(), requestManager, colorizer, this);
|
||||
recyclerViewColorizer = new RecyclerViewColorizer(list);
|
||||
|
||||
list.setAdapter(adapter);
|
||||
|
||||
@@ -20,6 +20,8 @@ import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import androidx.media3.common.MediaItem;
|
||||
|
||||
import com.bumptech.glide.RequestManager;
|
||||
|
||||
import org.signal.core.util.concurrent.SignalExecutors;
|
||||
import org.thoughtcrime.securesms.R;
|
||||
import org.thoughtcrime.securesms.conversation.ConversationItem;
|
||||
@@ -30,7 +32,6 @@ import org.thoughtcrime.securesms.conversation.ConversationItemDisplayMode;
|
||||
import org.thoughtcrime.securesms.database.model.MessageRecord;
|
||||
import org.thoughtcrime.securesms.giph.mp4.GiphyMp4Playable;
|
||||
import org.thoughtcrime.securesms.giph.mp4.GiphyMp4PlaybackPolicyEnforcer;
|
||||
import org.thoughtcrime.securesms.mms.GlideRequests;
|
||||
import org.thoughtcrime.securesms.sms.MessageSender;
|
||||
import org.thoughtcrime.securesms.util.DateUtils;
|
||||
import org.thoughtcrime.securesms.util.ExpirationUtil;
|
||||
@@ -56,15 +57,15 @@ final class MessageHeaderViewHolder extends RecyclerView.ViewHolder implements G
|
||||
private final ViewStub sentStub;
|
||||
private final ViewStub receivedStub;
|
||||
private final Colorizer colorizer;
|
||||
private final GlideRequests glideRequests;
|
||||
private final RequestManager requestManager;
|
||||
|
||||
private ConversationItem conversationItem;
|
||||
private CountDownTimer expiresUpdater;
|
||||
|
||||
MessageHeaderViewHolder(@NonNull View itemView, GlideRequests glideRequests, @NonNull Colorizer colorizer) {
|
||||
MessageHeaderViewHolder(@NonNull View itemView, RequestManager requestManager, @NonNull Colorizer colorizer) {
|
||||
super(itemView);
|
||||
this.glideRequests = glideRequests;
|
||||
this.colorizer = colorizer;
|
||||
this.requestManager = requestManager;
|
||||
this.colorizer = colorizer;
|
||||
|
||||
sentDate = itemView.findViewById(R.id.message_details_header_sent_time);
|
||||
receivedDate = itemView.findViewById(R.id.message_details_header_received_time);
|
||||
@@ -101,7 +102,7 @@ final class MessageHeaderViewHolder extends RecyclerView.ViewHolder implements G
|
||||
conversationMessage,
|
||||
Optional.empty(),
|
||||
Optional.empty(),
|
||||
glideRequests,
|
||||
requestManager,
|
||||
Locale.getDefault(),
|
||||
new HashSet<>(),
|
||||
conversationMessage.getMessageRecord().getToRecipient(),
|
||||
|
||||
Reference in New Issue
Block a user