mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-04-22 01:40:07 +01:00
committed by
Nicholas Tinsley
parent
aa33fd44b8
commit
ec96b4e3aa
@@ -12,10 +12,11 @@ import androidx.recyclerview.widget.GridLayoutManager;
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.bumptech.glide.Glide;
|
||||
|
||||
import org.thoughtcrime.securesms.R;
|
||||
import org.thoughtcrime.securesms.components.InputAwareLayout;
|
||||
import org.thoughtcrime.securesms.mediasend.Media;
|
||||
import org.thoughtcrime.securesms.mms.GlideApp;
|
||||
import org.thoughtcrime.securesms.util.StorageUtil;
|
||||
|
||||
import java.util.Arrays;
|
||||
@@ -63,7 +64,7 @@ public class AttachmentKeyboard extends FrameLayout implements InputAwareLayout.
|
||||
RecyclerView buttonList = findViewById(R.id.attachment_keyboard_button_list);
|
||||
buttonList.setItemAnimator(null);
|
||||
|
||||
mediaAdapter = new AttachmentKeyboardMediaAdapter(GlideApp.with(this), media -> {
|
||||
mediaAdapter = new AttachmentKeyboardMediaAdapter(Glide.with(this), media -> {
|
||||
if (callback != null) {
|
||||
callback.onAttachmentMediaClicked(media);
|
||||
}
|
||||
|
||||
@@ -8,10 +8,11 @@ import android.widget.TextView;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.bumptech.glide.RequestManager;
|
||||
|
||||
import org.thoughtcrime.securesms.R;
|
||||
import org.thoughtcrime.securesms.components.ThumbnailView;
|
||||
import org.thoughtcrime.securesms.mediasend.Media;
|
||||
import org.thoughtcrime.securesms.mms.GlideRequests;
|
||||
import org.thoughtcrime.securesms.util.MediaUtil;
|
||||
import org.thoughtcrime.securesms.util.adapter.StableIdGenerator;
|
||||
|
||||
@@ -22,15 +23,15 @@ import java.util.concurrent.TimeUnit;
|
||||
class AttachmentKeyboardMediaAdapter extends RecyclerView.Adapter<AttachmentKeyboardMediaAdapter.MediaViewHolder> {
|
||||
|
||||
private final List<Media> media;
|
||||
private final GlideRequests glideRequests;
|
||||
private final RequestManager requestManager;
|
||||
private final Listener listener;
|
||||
private final StableIdGenerator<Media> idGenerator;
|
||||
|
||||
AttachmentKeyboardMediaAdapter(@NonNull GlideRequests glideRequests, @NonNull Listener listener) {
|
||||
this.glideRequests = glideRequests;
|
||||
this.listener = listener;
|
||||
this.media = new ArrayList<>();
|
||||
this.idGenerator = new StableIdGenerator<>();
|
||||
AttachmentKeyboardMediaAdapter(@NonNull RequestManager requestManager, @NonNull Listener listener) {
|
||||
this.requestManager = requestManager;
|
||||
this.listener = listener;
|
||||
this.media = new ArrayList<>();
|
||||
this.idGenerator = new StableIdGenerator<>();
|
||||
|
||||
setHasStableIds(true);
|
||||
}
|
||||
@@ -47,7 +48,7 @@ class AttachmentKeyboardMediaAdapter extends RecyclerView.Adapter<AttachmentKeyb
|
||||
|
||||
@Override
|
||||
public void onBindViewHolder(@NonNull MediaViewHolder holder, int position) {
|
||||
holder.bind(media.get(position), glideRequests, listener);
|
||||
holder.bind(media.get(position), requestManager, listener);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -83,8 +84,8 @@ class AttachmentKeyboardMediaAdapter extends RecyclerView.Adapter<AttachmentKeyb
|
||||
videoIcon = itemView.findViewById(R.id.attachment_keyboard_item_video_icon);
|
||||
}
|
||||
|
||||
void bind(@NonNull Media media, @NonNull GlideRequests glideRequests, @NonNull Listener listener) {
|
||||
image.setImageResource(glideRequests, media.getUri(), 400, 400);
|
||||
void bind(@NonNull Media media, @NonNull RequestManager requestManager, @NonNull Listener listener) {
|
||||
image.setImageResource(requestManager, media.getUri(), 400, 400);
|
||||
image.setOnClickListener(v -> listener.onMediaClicked(media));
|
||||
|
||||
duration.setVisibility(View.GONE);
|
||||
|
||||
@@ -39,6 +39,8 @@ import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import androidx.media3.common.MediaItem;
|
||||
|
||||
import com.bumptech.glide.RequestManager;
|
||||
|
||||
import org.signal.core.util.logging.Log;
|
||||
import org.signal.paging.PagingController;
|
||||
import org.thoughtcrime.securesms.BindableConversationItem;
|
||||
@@ -50,7 +52,6 @@ import org.thoughtcrime.securesms.database.model.MmsMessageRecord;
|
||||
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.recipients.RecipientId;
|
||||
import org.thoughtcrime.securesms.util.CachedInflater;
|
||||
import org.thoughtcrime.securesms.util.DateUtils;
|
||||
@@ -99,7 +100,7 @@ public class ConversationAdapter
|
||||
private final ItemClickListener clickListener;
|
||||
private final Context context;
|
||||
private final LifecycleOwner lifecycleOwner;
|
||||
private final GlideRequests glideRequests;
|
||||
private final RequestManager requestManager;
|
||||
private final Locale locale;
|
||||
private final Set<MultiselectPart> selected;
|
||||
private final Calendar calendar;
|
||||
@@ -119,7 +120,7 @@ public class ConversationAdapter
|
||||
|
||||
public ConversationAdapter(@NonNull Context context,
|
||||
@NonNull LifecycleOwner lifecycleOwner,
|
||||
@NonNull GlideRequests glideRequests,
|
||||
@NonNull RequestManager requestManager,
|
||||
@NonNull Locale locale,
|
||||
@Nullable ItemClickListener clickListener,
|
||||
boolean hasWallpaper,
|
||||
@@ -137,10 +138,10 @@ public class ConversationAdapter
|
||||
}
|
||||
});
|
||||
|
||||
this.lifecycleOwner = lifecycleOwner;
|
||||
this.context = context;
|
||||
this.lifecycleOwner = lifecycleOwner;
|
||||
this.context = context;
|
||||
|
||||
this.glideRequests = glideRequests;
|
||||
this.requestManager = requestManager;
|
||||
this.locale = locale;
|
||||
this.clickListener = clickListener;
|
||||
this.selected = new HashSet<>();
|
||||
@@ -276,7 +277,7 @@ public class ConversationAdapter
|
||||
conversationMessage,
|
||||
Optional.ofNullable(previousMessage != null ? previousMessage.getMessageRecord() : null),
|
||||
Optional.ofNullable(nextMessage != null ? nextMessage.getMessageRecord() : null),
|
||||
glideRequests,
|
||||
requestManager,
|
||||
locale,
|
||||
selected,
|
||||
conversationMessage.getThreadRecipient(),
|
||||
|
||||
@@ -15,6 +15,8 @@ import androidx.constraintlayout.widget.ConstraintLayout;
|
||||
import androidx.core.content.ContextCompat;
|
||||
import androidx.core.view.ViewKt;
|
||||
|
||||
import com.bumptech.glide.RequestManager;
|
||||
|
||||
import org.signal.core.util.DimensionUnit;
|
||||
import org.signal.core.util.concurrent.SignalExecutors;
|
||||
import org.thoughtcrime.securesms.R;
|
||||
@@ -23,7 +25,6 @@ import org.thoughtcrime.securesms.contacts.avatars.FallbackContactPhoto;
|
||||
import org.thoughtcrime.securesms.contacts.avatars.ResourceContactPhoto;
|
||||
import org.thoughtcrime.securesms.database.SignalDatabase;
|
||||
import org.thoughtcrime.securesms.databinding.ConversationHeaderViewBinding;
|
||||
import org.thoughtcrime.securesms.mms.GlideRequests;
|
||||
import org.thoughtcrime.securesms.recipients.Recipient;
|
||||
import org.thoughtcrime.securesms.util.ContextUtil;
|
||||
import org.thoughtcrime.securesms.util.LongClickMovementMethod;
|
||||
@@ -60,8 +61,8 @@ public class ConversationHeaderView extends ConstraintLayout {
|
||||
}
|
||||
}
|
||||
|
||||
public void setAvatar(@NonNull GlideRequests requests, @Nullable Recipient recipient) {
|
||||
binding.messageRequestAvatar.setAvatar(requests, recipient, false);
|
||||
public void setAvatar(@NonNull RequestManager requestManager, @Nullable Recipient recipient) {
|
||||
binding.messageRequestAvatar.setAvatar(requestManager, recipient, false);
|
||||
|
||||
if (recipient != null && recipient.shouldBlurAvatar() && recipient.getContactPhoto() != null) {
|
||||
binding.messageRequestAvatarTapToView.setVisibility(VISIBLE);
|
||||
|
||||
@@ -60,6 +60,7 @@ import androidx.lifecycle.LifecycleOwner;
|
||||
import androidx.media3.common.MediaItem;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.bumptech.glide.RequestManager;
|
||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
|
||||
import com.google.common.collect.Sets;
|
||||
|
||||
@@ -123,7 +124,6 @@ import org.thoughtcrime.securesms.linkpreview.LinkPreview;
|
||||
import org.thoughtcrime.securesms.mediapreview.MediaIntentFactory;
|
||||
import org.thoughtcrime.securesms.mediapreview.MediaPreviewCache;
|
||||
import org.thoughtcrime.securesms.mediapreview.MediaPreviewV2Fragment;
|
||||
import org.thoughtcrime.securesms.mms.GlideRequests;
|
||||
import org.thoughtcrime.securesms.mms.ImageSlide;
|
||||
import org.thoughtcrime.securesms.mms.PartAuthority;
|
||||
import org.thoughtcrime.securesms.mms.Slide;
|
||||
@@ -199,7 +199,7 @@ public final class ConversationItem extends RelativeLayout implements BindableCo
|
||||
private Locale locale;
|
||||
private boolean groupThread;
|
||||
private LiveRecipient author;
|
||||
private GlideRequests glideRequests;
|
||||
private RequestManager requestManager;
|
||||
private Optional<MessageRecord> previousMessage;
|
||||
private ConversationItemDisplayMode displayMode;
|
||||
|
||||
@@ -364,7 +364,7 @@ public final class ConversationItem extends RelativeLayout implements BindableCo
|
||||
@NonNull ConversationMessage conversationMessage,
|
||||
@NonNull Optional<MessageRecord> previousMessageRecord,
|
||||
@NonNull Optional<MessageRecord> nextMessageRecord,
|
||||
@NonNull GlideRequests glideRequests,
|
||||
@NonNull RequestManager requestManager,
|
||||
@NonNull Locale locale,
|
||||
@NonNull Set<MultiselectPart> batchSelected,
|
||||
@NonNull Recipient conversationRecipient,
|
||||
@@ -386,7 +386,7 @@ public final class ConversationItem extends RelativeLayout implements BindableCo
|
||||
this.messageRecord = conversationMessage.getMessageRecord();
|
||||
this.nextMessageRecord = nextMessageRecord;
|
||||
this.locale = locale;
|
||||
this.glideRequests = glideRequests;
|
||||
this.requestManager = requestManager;
|
||||
this.batchSelected = batchSelected;
|
||||
this.conversationRecipient = conversationRecipient.live();
|
||||
this.groupThread = conversationRecipient.isGroup();
|
||||
@@ -716,7 +716,7 @@ public final class ConversationItem extends RelativeLayout implements BindableCo
|
||||
bodyBubble.setVideoPlayerProjection(null);
|
||||
bodyBubble.setQuoteViewProjection(null);
|
||||
|
||||
glideRequests = null;
|
||||
requestManager = null;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -1131,7 +1131,7 @@ public final class ConversationItem extends RelativeLayout implements BindableCo
|
||||
if (joinCallLinkStub.resolved()) joinCallLinkStub.get().setVisibility(View.GONE);
|
||||
paymentViewStub.setVisibility(View.GONE);
|
||||
|
||||
sharedContactStub.get().setContact(((MmsMessageRecord) messageRecord).getSharedContacts().get(0), glideRequests, locale);
|
||||
sharedContactStub.get().setContact(((MmsMessageRecord) messageRecord).getSharedContacts().get(0), requestManager, locale);
|
||||
sharedContactStub.get().setEventListener(sharedContactEventListener);
|
||||
sharedContactStub.get().setOnClickListener(sharedContactClickListener);
|
||||
sharedContactStub.get().setOnLongClickListener(passthroughClickListener);
|
||||
@@ -1174,14 +1174,14 @@ public final class ConversationItem extends RelativeLayout implements BindableCo
|
||||
mediaThumbnailStub.require().setVisibility(VISIBLE);
|
||||
mediaThumbnailStub.require().setMinimumThumbnailWidth(readDimen(R.dimen.media_bubble_min_width_with_content));
|
||||
mediaThumbnailStub.require().setMaximumThumbnailHeight(readDimen(R.dimen.media_bubble_max_height));
|
||||
mediaThumbnailStub.require().setImageResource(glideRequests, Collections.singletonList(new ImageSlide(linkPreview.getThumbnail().get())), showControls, false);
|
||||
mediaThumbnailStub.require().setImageResource(requestManager, Collections.singletonList(new ImageSlide(linkPreview.getThumbnail().get())), showControls, false);
|
||||
mediaThumbnailStub.require().setThumbnailClickListener(new LinkPreviewThumbnailClickListener());
|
||||
mediaThumbnailStub.require().setStartTransferClickListener(downloadClickListener);
|
||||
mediaThumbnailStub.require().setCancelTransferClickListener(attachmentCancelClickListener);
|
||||
mediaThumbnailStub.require().setPlayVideoClickListener(playVideoClickListener);
|
||||
mediaThumbnailStub.require().setOnLongClickListener(passthroughClickListener);
|
||||
|
||||
linkPreviewStub.get().setLinkPreview(glideRequests, linkPreview, false);
|
||||
linkPreviewStub.get().setLinkPreview(requestManager, linkPreview, false);
|
||||
|
||||
setThumbnailCorners(messageRecord, previousRecord, nextRecord, isGroupThread);
|
||||
setLinkPreviewCorners(messageRecord, previousRecord, nextRecord, isGroupThread, true);
|
||||
@@ -1190,7 +1190,7 @@ public final class ConversationItem extends RelativeLayout implements BindableCo
|
||||
ViewUtil.updateLayoutParamsIfNonNull(groupSenderHolder, ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
|
||||
ViewUtil.setTopMargin(linkPreviewStub.get(), 0);
|
||||
} else {
|
||||
linkPreviewStub.get().setLinkPreview(glideRequests, linkPreview, true, !isContentCondensed(), displayMode.getScheduleMessageMode());
|
||||
linkPreviewStub.get().setLinkPreview(requestManager, linkPreview, true, !isContentCondensed(), displayMode.getScheduleMessageMode());
|
||||
linkPreviewStub.get().setDownloadClickedListener(downloadClickListener);
|
||||
setLinkPreviewCorners(messageRecord, previousRecord, nextRecord, isGroupThread, false);
|
||||
ViewUtil.updateLayoutParams(bodyText, ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
|
||||
@@ -1277,11 +1277,11 @@ public final class ConversationItem extends RelativeLayout implements BindableCo
|
||||
|
||||
if (hasSticker(messageRecord)) {
|
||||
//noinspection ConstantConditions
|
||||
stickerStub.get().setSlide(glideRequests, ((MmsMessageRecord) messageRecord).getSlideDeck().getStickerSlide());
|
||||
stickerStub.get().setSlide(requestManager, ((MmsMessageRecord) messageRecord).getSlideDeck().getStickerSlide());
|
||||
stickerStub.get().setThumbnailClickListener(new StickerClickListener());
|
||||
} else {
|
||||
//noinspection ConstantConditions
|
||||
stickerStub.get().setSlide(glideRequests, ((MmsMessageRecord) messageRecord).getSlideDeck().getThumbnailSlide());
|
||||
stickerStub.get().setSlide(requestManager, ((MmsMessageRecord) messageRecord).getSlideDeck().getThumbnailSlide());
|
||||
stickerStub.get().setThumbnailClickListener((v, slide) -> performClick());
|
||||
}
|
||||
|
||||
@@ -1319,7 +1319,7 @@ public final class ConversationItem extends RelativeLayout implements BindableCo
|
||||
mediaThumbnailStub.require().setOnLongClickListener(passthroughClickListener);
|
||||
mediaThumbnailStub.require().setOnClickListener(passthroughClickListener);
|
||||
mediaThumbnailStub.require().showShade(messageRecord.isDisplayBodyEmpty(getContext()) && !hasExtraText(messageRecord));
|
||||
mediaThumbnailStub.require().setImageResource(glideRequests,
|
||||
mediaThumbnailStub.require().setImageResource(requestManager,
|
||||
thumbnailSlides,
|
||||
showControls,
|
||||
false);
|
||||
@@ -1366,7 +1366,7 @@ public final class ConversationItem extends RelativeLayout implements BindableCo
|
||||
paymentViewStub.setVisibility(View.GONE);
|
||||
|
||||
MmsMessageRecord mmsMessageRecord = (MmsMessageRecord) messageRecord;
|
||||
giftViewStub.get().setGiftBadge(glideRequests, Objects.requireNonNull(mmsMessageRecord.getGiftBadge()), messageRecord.isOutgoing(), giftMessageViewCallback, messageRecord.getFromRecipient(), messageRecord.getToRecipient());
|
||||
giftViewStub.get().setGiftBadge(requestManager, Objects.requireNonNull(mmsMessageRecord.getGiftBadge()), messageRecord.isOutgoing(), giftMessageViewCallback, messageRecord.getFromRecipient(), messageRecord.getToRecipient());
|
||||
giftViewStub.get().setVisibility(VISIBLE);
|
||||
|
||||
footer.setVisibility(VISIBLE);
|
||||
@@ -1537,8 +1537,8 @@ public final class ConversationItem extends RelativeLayout implements BindableCo
|
||||
}
|
||||
});
|
||||
|
||||
contactPhoto.setAvatar(glideRequests, recipient, false);
|
||||
badgeImageView.setBadgeFromRecipient(recipient, glideRequests);
|
||||
contactPhoto.setAvatar(requestManager, recipient, false);
|
||||
badgeImageView.setBadgeFromRecipient(recipient, requestManager);
|
||||
badgeImageView.setClickable(false);
|
||||
}
|
||||
|
||||
@@ -1601,7 +1601,7 @@ public final class ConversationItem extends RelativeLayout implements BindableCo
|
||||
}
|
||||
|
||||
//noinspection ConstantConditions
|
||||
quoteView.setQuote(glideRequests,
|
||||
quoteView.setQuote(requestManager,
|
||||
quote.getId(),
|
||||
Recipient.live(quote.getAuthor()).get(),
|
||||
quote.getDisplayText(),
|
||||
|
||||
@@ -8,24 +8,24 @@ import android.widget.ImageView;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.bumptech.glide.RequestManager;
|
||||
import com.bumptech.glide.load.resource.drawable.DrawableTransitionOptions;
|
||||
|
||||
import org.thoughtcrime.securesms.R;
|
||||
import org.thoughtcrime.securesms.database.model.StickerRecord;
|
||||
import org.thoughtcrime.securesms.mms.DecryptableStreamUriLoader.DecryptableUri;
|
||||
import org.thoughtcrime.securesms.mms.GlideRequests;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class ConversationStickerSuggestionAdapter extends RecyclerView.Adapter<ConversationStickerSuggestionAdapter.StickerSuggestionViewHolder> {
|
||||
|
||||
private final GlideRequests glideRequests;
|
||||
private final RequestManager requestManager;
|
||||
private final EventListener eventListener;
|
||||
private final List<StickerRecord> stickers;
|
||||
|
||||
public ConversationStickerSuggestionAdapter(@NonNull GlideRequests glideRequests, @NonNull EventListener eventListener) {
|
||||
this.glideRequests = glideRequests;
|
||||
public ConversationStickerSuggestionAdapter(@NonNull RequestManager requestManager, @NonNull EventListener eventListener) {
|
||||
this.requestManager = requestManager;
|
||||
this.eventListener = eventListener;
|
||||
this.stickers = new ArrayList<>();
|
||||
}
|
||||
@@ -37,7 +37,7 @@ public class ConversationStickerSuggestionAdapter extends RecyclerView.Adapter<C
|
||||
|
||||
@Override
|
||||
public void onBindViewHolder(@NonNull StickerSuggestionViewHolder viewHolder, int i) {
|
||||
viewHolder.bind(glideRequests, eventListener, stickers.get(i));
|
||||
viewHolder.bind(requestManager, eventListener, stickers.get(i));
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -65,8 +65,8 @@ public class ConversationStickerSuggestionAdapter extends RecyclerView.Adapter<C
|
||||
this.image = itemView.findViewById(R.id.sticker_suggestion_item_image);
|
||||
}
|
||||
|
||||
void bind(@NonNull GlideRequests glideRequests, @NonNull EventListener eventListener, @NonNull StickerRecord sticker) {
|
||||
glideRequests.load(new DecryptableUri(sticker.getUri()))
|
||||
void bind(@NonNull RequestManager requestManager, @NonNull EventListener eventListener, @NonNull StickerRecord sticker) {
|
||||
requestManager.load(new DecryptableUri(sticker.getUri()))
|
||||
.transition(DrawableTransitionOptions.withCrossFade())
|
||||
.fitCenter()
|
||||
.into(image);
|
||||
|
||||
@@ -17,12 +17,12 @@ import androidx.core.content.ContextCompat;
|
||||
|
||||
import com.annimon.stream.Collectors;
|
||||
import com.annimon.stream.Stream;
|
||||
import com.bumptech.glide.RequestManager;
|
||||
|
||||
import org.thoughtcrime.securesms.R;
|
||||
import org.thoughtcrime.securesms.avatar.view.AvatarView;
|
||||
import org.thoughtcrime.securesms.badges.BadgeImageView;
|
||||
import org.thoughtcrime.securesms.database.model.StoryViewState;
|
||||
import org.thoughtcrime.securesms.mms.GlideRequests;
|
||||
import org.thoughtcrime.securesms.recipients.Recipient;
|
||||
import org.thoughtcrime.securesms.util.ContextUtil;
|
||||
import org.thoughtcrime.securesms.util.DrawableUtil;
|
||||
@@ -106,7 +106,7 @@ public class ConversationTitleView extends ConstraintLayout {
|
||||
updateSubtitleVisibility();
|
||||
}
|
||||
|
||||
public void setTitle(@NonNull GlideRequests glideRequests, @Nullable Recipient recipient) {
|
||||
public void setTitle(@NonNull RequestManager requestManager, @Nullable Recipient recipient) {
|
||||
isSelf = recipient != null && recipient.isSelf();
|
||||
|
||||
this.subtitleContainer.setVisibility(View.VISIBLE);
|
||||
@@ -144,7 +144,7 @@ public class ConversationTitleView extends ConstraintLayout {
|
||||
title.setCompoundDrawablesRelativeWithIntrinsicBounds(startDrawable, null, endDrawable, null);
|
||||
|
||||
if (recipient != null) {
|
||||
this.avatar.displayChatAvatar(glideRequests, recipient, false);
|
||||
this.avatar.displayChatAvatar(requestManager, recipient, false);
|
||||
}
|
||||
|
||||
if (recipient == null || recipient.isSelf()) {
|
||||
|
||||
@@ -20,6 +20,7 @@ import androidx.lifecycle.LiveData;
|
||||
import androidx.lifecycle.Observer;
|
||||
import androidx.lifecycle.Transformations;
|
||||
|
||||
import com.bumptech.glide.RequestManager;
|
||||
import com.google.android.material.button.MaterialButton;
|
||||
import com.google.common.collect.Sets;
|
||||
|
||||
@@ -37,7 +38,6 @@ import org.thoughtcrime.securesms.database.model.MessageRecord;
|
||||
import org.thoughtcrime.securesms.database.model.UpdateDescription;
|
||||
import org.thoughtcrime.securesms.groups.LiveGroup;
|
||||
import org.thoughtcrime.securesms.keyvalue.SignalStore;
|
||||
import org.thoughtcrime.securesms.mms.GlideRequests;
|
||||
import org.thoughtcrime.securesms.recipients.LiveRecipient;
|
||||
import org.thoughtcrime.securesms.recipients.Recipient;
|
||||
import org.thoughtcrime.securesms.util.DateUtils;
|
||||
@@ -116,7 +116,7 @@ public final class ConversationUpdateItem extends FrameLayout
|
||||
@NonNull ConversationMessage conversationMessage,
|
||||
@NonNull Optional<MessageRecord> previousMessageRecord,
|
||||
@NonNull Optional<MessageRecord> nextMessageRecord,
|
||||
@NonNull GlideRequests glideRequests,
|
||||
@NonNull RequestManager requestManager,
|
||||
@NonNull Locale locale,
|
||||
@NonNull Set<MultiselectPart> batchSelected,
|
||||
@NonNull Recipient conversationRecipient,
|
||||
|
||||
@@ -12,6 +12,7 @@ import androidx.fragment.app.FragmentManager
|
||||
import androidx.fragment.app.viewModels
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.bumptech.glide.Glide
|
||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||
import org.signal.core.util.StreamUtil
|
||||
import org.signal.core.util.concurrent.LifecycleDisposable
|
||||
@@ -38,7 +39,6 @@ import org.thoughtcrime.securesms.giph.mp4.GiphyMp4ProjectionPlayerHolder
|
||||
import org.thoughtcrime.securesms.giph.mp4.GiphyMp4ProjectionRecycler
|
||||
import org.thoughtcrime.securesms.groups.GroupId
|
||||
import org.thoughtcrime.securesms.groups.GroupMigrationMembershipChange
|
||||
import org.thoughtcrime.securesms.mms.GlideApp
|
||||
import org.thoughtcrime.securesms.mms.PartAuthority
|
||||
import org.thoughtcrime.securesms.mms.TextSlide
|
||||
import org.thoughtcrime.securesms.recipients.Recipient
|
||||
@@ -91,7 +91,7 @@ class ScheduledMessagesBottomSheet : FixedRoundedCornerBottomSheetDialogFragment
|
||||
|
||||
val colorizer = Colorizer()
|
||||
|
||||
messageAdapter = ConversationAdapter(requireContext(), viewLifecycleOwner, GlideApp.with(this), Locale.getDefault(), ConversationAdapterListener(), conversationRecipient.hasWallpaper(), colorizer).apply {
|
||||
messageAdapter = ConversationAdapter(requireContext(), viewLifecycleOwner, Glide.with(this), Locale.getDefault(), ConversationAdapterListener(), conversationRecipient.hasWallpaper(), colorizer).apply {
|
||||
setCondensedMode(ConversationItemDisplayMode.Condensed(scheduleMessageMode = true))
|
||||
}
|
||||
|
||||
|
||||
@@ -4,6 +4,7 @@ import android.content.Context
|
||||
import android.net.Uri
|
||||
import android.text.Spannable
|
||||
import android.text.SpannableString
|
||||
import com.bumptech.glide.Glide
|
||||
import io.reactivex.rxjava3.core.Maybe
|
||||
import io.reactivex.rxjava3.schedulers.Schedulers
|
||||
import org.signal.core.util.Base64
|
||||
@@ -33,7 +34,6 @@ import org.thoughtcrime.securesms.dependencies.ApplicationDependencies
|
||||
import org.thoughtcrime.securesms.keyboard.KeyboardUtil
|
||||
import org.thoughtcrime.securesms.mediasend.Media
|
||||
import org.thoughtcrime.securesms.mms.GifSlide
|
||||
import org.thoughtcrime.securesms.mms.GlideApp
|
||||
import org.thoughtcrime.securesms.mms.ImageSlide
|
||||
import org.thoughtcrime.securesms.mms.PartAuthority
|
||||
import org.thoughtcrime.securesms.mms.QuoteId
|
||||
@@ -97,7 +97,7 @@ class DraftRepository(
|
||||
}
|
||||
|
||||
if (shareMedia != null && shareContentType != null && borderless) {
|
||||
val details = KeyboardUtil.getImageDetails(GlideApp.with(context), shareMedia)
|
||||
val details = KeyboardUtil.getImageDetails(Glide.with(context), shareMedia)
|
||||
|
||||
if (details == null || !details.hasTransparency) {
|
||||
return ShareOrDraftData.SetMedia(shareMedia, shareMediaType!!, null) to null
|
||||
|
||||
@@ -10,6 +10,7 @@ import androidx.fragment.app.FragmentManager
|
||||
import androidx.fragment.app.viewModels
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.bumptech.glide.Glide
|
||||
import com.google.android.material.bottomsheet.BottomSheetBehavior
|
||||
import com.google.android.material.bottomsheet.BottomSheetDialog
|
||||
import org.signal.core.util.concurrent.LifecycleDisposable
|
||||
@@ -35,7 +36,6 @@ import org.thoughtcrime.securesms.giph.mp4.GiphyMp4ProjectionRecycler
|
||||
import org.thoughtcrime.securesms.groups.GroupId
|
||||
import org.thoughtcrime.securesms.groups.GroupMigrationMembershipChange
|
||||
import org.thoughtcrime.securesms.linkpreview.LinkPreview
|
||||
import org.thoughtcrime.securesms.mms.GlideApp
|
||||
import org.thoughtcrime.securesms.recipients.Recipient
|
||||
import org.thoughtcrime.securesms.recipients.RecipientId
|
||||
import org.thoughtcrime.securesms.util.BottomSheetUtil
|
||||
@@ -73,7 +73,7 @@ class MessageQuotesBottomSheet : FixedRoundedCornerBottomSheetDialogFragment() {
|
||||
|
||||
val colorizer = Colorizer()
|
||||
|
||||
messageAdapter = ConversationAdapter(requireContext(), viewLifecycleOwner, GlideApp.with(this), Locale.getDefault(), ConversationAdapterListener(), conversationRecipient.hasWallpaper(), colorizer).apply {
|
||||
messageAdapter = ConversationAdapter(requireContext(), viewLifecycleOwner, Glide.with(this), Locale.getDefault(), ConversationAdapterListener(), conversationRecipient.hasWallpaper(), colorizer).apply {
|
||||
setCondensedMode(ConversationItemDisplayMode.Condensed(scheduleMessageMode = false))
|
||||
}
|
||||
|
||||
|
||||
@@ -10,6 +10,7 @@ import androidx.core.view.doOnNextLayout
|
||||
import androidx.fragment.app.FragmentManager
|
||||
import androidx.fragment.app.viewModels
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import com.bumptech.glide.Glide
|
||||
import com.google.android.material.bottomsheet.BottomSheetBehavior
|
||||
import com.google.android.material.bottomsheet.BottomSheetDialog
|
||||
import io.reactivex.rxjava3.kotlin.subscribeBy
|
||||
@@ -36,7 +37,6 @@ import org.thoughtcrime.securesms.giph.mp4.GiphyMp4ProjectionPlayerHolder
|
||||
import org.thoughtcrime.securesms.giph.mp4.GiphyMp4ProjectionRecycler
|
||||
import org.thoughtcrime.securesms.groups.GroupId
|
||||
import org.thoughtcrime.securesms.groups.GroupMigrationMembershipChange
|
||||
import org.thoughtcrime.securesms.mms.GlideApp
|
||||
import org.thoughtcrime.securesms.recipients.Recipient
|
||||
import org.thoughtcrime.securesms.recipients.RecipientId
|
||||
import org.thoughtcrime.securesms.util.BottomSheetUtil
|
||||
@@ -85,7 +85,7 @@ class EditMessageHistoryDialog : FixedRoundedCornerBottomSheetDialogFragment() {
|
||||
val messageAdapter = ConversationAdapter(
|
||||
requireContext(),
|
||||
viewLifecycleOwner,
|
||||
GlideApp.with(this),
|
||||
Glide.with(this),
|
||||
Locale.getDefault(),
|
||||
ConversationAdapterListener(),
|
||||
conversationRecipient.hasWallpaper(),
|
||||
|
||||
@@ -13,6 +13,7 @@ import androidx.core.view.children
|
||||
import androidx.lifecycle.LifecycleOwner
|
||||
import androidx.media3.common.MediaItem
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.bumptech.glide.RequestManager
|
||||
import org.signal.core.util.logging.Log
|
||||
import org.signal.core.util.toOptional
|
||||
import org.thoughtcrime.securesms.BindableConversationItem
|
||||
@@ -50,7 +51,6 @@ import org.thoughtcrime.securesms.giph.mp4.GiphyMp4PlaybackPolicyEnforcer
|
||||
import org.thoughtcrime.securesms.groups.v2.GroupDescriptionUtil
|
||||
import org.thoughtcrime.securesms.keyvalue.SignalStore
|
||||
import org.thoughtcrime.securesms.messagerequests.MessageRequestState
|
||||
import org.thoughtcrime.securesms.mms.GlideRequests
|
||||
import org.thoughtcrime.securesms.phonenumbers.PhoneNumberFormatter
|
||||
import org.thoughtcrime.securesms.recipients.Recipient
|
||||
import org.thoughtcrime.securesms.util.CachedInflater
|
||||
@@ -63,7 +63,7 @@ import java.util.Optional
|
||||
|
||||
class ConversationAdapterV2(
|
||||
private val lifecycleOwner: LifecycleOwner,
|
||||
override val glideRequests: GlideRequests,
|
||||
override val requestManager: RequestManager,
|
||||
override val clickListener: ItemClickListener,
|
||||
private var hasWallpaper: Boolean,
|
||||
private val colorizer: Colorizer,
|
||||
@@ -336,7 +336,7 @@ class ConversationAdapterV2(
|
||||
model.conversationMessage,
|
||||
previousMessage,
|
||||
nextMessage,
|
||||
glideRequests,
|
||||
requestManager,
|
||||
Locale.getDefault(),
|
||||
_selected,
|
||||
model.conversationMessage.threadRecipient,
|
||||
@@ -364,7 +364,7 @@ class ConversationAdapterV2(
|
||||
model.conversationMessage,
|
||||
previousMessage,
|
||||
nextMessage,
|
||||
glideRequests,
|
||||
requestManager,
|
||||
Locale.getDefault(),
|
||||
_selected,
|
||||
model.conversationMessage.threadRecipient,
|
||||
@@ -392,7 +392,7 @@ class ConversationAdapterV2(
|
||||
model.conversationMessage,
|
||||
previousMessage,
|
||||
nextMessage,
|
||||
glideRequests,
|
||||
requestManager,
|
||||
Locale.getDefault(),
|
||||
_selected,
|
||||
model.conversationMessage.threadRecipient,
|
||||
@@ -420,7 +420,7 @@ class ConversationAdapterV2(
|
||||
model.conversationMessage,
|
||||
previousMessage,
|
||||
nextMessage,
|
||||
glideRequests,
|
||||
requestManager,
|
||||
Locale.getDefault(),
|
||||
_selected,
|
||||
model.conversationMessage.threadRecipient,
|
||||
@@ -448,7 +448,7 @@ class ConversationAdapterV2(
|
||||
model.conversationMessage,
|
||||
previousMessage,
|
||||
nextMessage,
|
||||
glideRequests,
|
||||
requestManager,
|
||||
Locale.getDefault(),
|
||||
_selected,
|
||||
model.conversationMessage.threadRecipient,
|
||||
@@ -569,7 +569,7 @@ class ConversationAdapterV2(
|
||||
val (recipient, groupInfo, sharedGroups, messageRequestState) = model.recipientInfo
|
||||
val isSelf = recipient.id == Recipient.self().id
|
||||
|
||||
conversationBanner.setAvatar(glideRequests, recipient)
|
||||
conversationBanner.setAvatar(requestManager, recipient)
|
||||
conversationBanner.showBackgroundBubble(recipient.hasWallpaper())
|
||||
val title: String = conversationBanner.setTitle(recipient)
|
||||
conversationBanner.setAbout(recipient)
|
||||
|
||||
@@ -66,6 +66,7 @@ import androidx.recyclerview.widget.ConcatAdapter
|
||||
import androidx.recyclerview.widget.ConversationLayoutManager
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.bumptech.glide.Glide
|
||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||
import com.google.android.material.snackbar.BaseTransientBottomBar.Duration
|
||||
import com.google.android.material.snackbar.Snackbar
|
||||
@@ -246,7 +247,6 @@ import org.thoughtcrime.securesms.messagerequests.MessageRequestState
|
||||
import org.thoughtcrime.securesms.mms.AttachmentManager
|
||||
import org.thoughtcrime.securesms.mms.AudioSlide
|
||||
import org.thoughtcrime.securesms.mms.GifSlide
|
||||
import org.thoughtcrime.securesms.mms.GlideApp
|
||||
import org.thoughtcrime.securesms.mms.ImageSlide
|
||||
import org.thoughtcrime.securesms.mms.MediaConstraints
|
||||
import org.thoughtcrime.securesms.mms.QuoteModel
|
||||
@@ -1203,7 +1203,7 @@ class ConversationFragment :
|
||||
)
|
||||
conversationActivityResultContracts.launchMediaEditor(listOf(media), recipientId, composeText.textTrimmed)
|
||||
} else {
|
||||
attachmentManager.setMedia(GlideApp.with(this), uri, mediaType, MediaConstraints.getPushMediaConstraints(), width, height)
|
||||
attachmentManager.setMedia(Glide.with(this), uri, mediaType, MediaConstraints.getPushMediaConstraints(), width, height)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1299,7 +1299,7 @@ class ConversationFragment :
|
||||
|
||||
val titleView = binding.conversationTitleView.root
|
||||
|
||||
titleView.setTitle(GlideApp.with(this), recipient)
|
||||
titleView.setTitle(Glide.with(this), recipient)
|
||||
if (recipient.expiresInSeconds > 0) {
|
||||
titleView.showExpiring(recipient)
|
||||
} else {
|
||||
@@ -1443,7 +1443,7 @@ class ConversationFragment :
|
||||
is ShareOrDraftData.SetLocation -> attachmentManager.setLocation(data.location, MediaConstraints.getPushMediaConstraints())
|
||||
is ShareOrDraftData.SetEditMessage -> {
|
||||
composeText.setDraftText(data.draftText)
|
||||
inputPanel.enterEditMessageMode(GlideApp.with(this), data.messageEdit, true)
|
||||
inputPanel.enterEditMessageMode(Glide.with(this), data.messageEdit, true)
|
||||
}
|
||||
|
||||
is ShareOrDraftData.SetMedia -> {
|
||||
@@ -1531,7 +1531,7 @@ class ConversationFragment :
|
||||
|
||||
adapter = ConversationAdapterV2(
|
||||
lifecycleOwner = viewLifecycleOwner,
|
||||
glideRequests = GlideApp.with(this),
|
||||
requestManager = Glide.with(this),
|
||||
clickListener = ConversationItemClickListener(),
|
||||
hasWallpaper = args.wallpaper != null,
|
||||
colorizer = colorizer,
|
||||
@@ -1539,7 +1539,7 @@ class ConversationFragment :
|
||||
chatColorsDataProvider = viewModel::chatColorsSnapshot
|
||||
)
|
||||
|
||||
typingIndicatorAdapter = ConversationTypingIndicatorAdapter(GlideApp.with(this))
|
||||
typingIndicatorAdapter = ConversationTypingIndicatorAdapter(Glide.with(this))
|
||||
|
||||
scrollToPositionDelegate = ScrollToPositionDelegate(
|
||||
recyclerView = binding.conversationItemRecycler,
|
||||
@@ -1640,7 +1640,7 @@ class ConversationFragment :
|
||||
} else if (state.hasLinks() && !state.linkPreview.isPresent) {
|
||||
inputPanel.setLinkPreviewNoPreview(state.error)
|
||||
} else {
|
||||
inputPanel.setLinkPreview(GlideApp.with(this), state.linkPreview)
|
||||
inputPanel.setLinkPreview(Glide.with(this), state.linkPreview)
|
||||
}
|
||||
|
||||
updateToggleButtonState()
|
||||
@@ -1853,7 +1853,7 @@ class ConversationFragment :
|
||||
composeTextEventsListener?.typingStatusEnabled = false
|
||||
composeText.setText("")
|
||||
composeTextEventsListener?.typingStatusEnabled = true
|
||||
attachmentManager.clear(GlideApp.with(this@ConversationFragment), false)
|
||||
attachmentManager.clear(Glide.with(this@ConversationFragment), false)
|
||||
inputPanel.clearQuote()
|
||||
}
|
||||
scrollToPositionDelegate.markListCommittedVersion()
|
||||
@@ -2129,7 +2129,7 @@ class ConversationFragment :
|
||||
val author = conversationMessage.messageRecord.fromRecipient
|
||||
|
||||
inputPanel.setQuote(
|
||||
GlideApp.with(this),
|
||||
Glide.with(this),
|
||||
conversationMessage.messageRecord.dateSent,
|
||||
author,
|
||||
body,
|
||||
@@ -2147,7 +2147,7 @@ class ConversationFragment :
|
||||
|
||||
viewModel.resolveMessageToEdit(conversationMessage)
|
||||
.subscribeBy { updatedMessage ->
|
||||
inputPanel.enterEditMessageMode(GlideApp.with(this), updatedMessage, false)
|
||||
inputPanel.enterEditMessageMode(Glide.with(this), updatedMessage, false)
|
||||
}
|
||||
.addTo(disposables)
|
||||
}
|
||||
@@ -3120,7 +3120,7 @@ class ConversationFragment :
|
||||
requireActivity().registerReceiver(pinnedShortcutReceiver, IntentFilter(ACTION_PINNED_SHORTCUT))
|
||||
}
|
||||
|
||||
viewModel.getContactPhotoIcon(requireContext(), GlideApp.with(this@ConversationFragment))
|
||||
viewModel.getContactPhotoIcon(requireContext(), Glide.with(this@ConversationFragment))
|
||||
.subscribe { infoCompat ->
|
||||
val intent = Intent(ACTION_PINNED_SHORTCUT)
|
||||
val callback = PendingIntent.getBroadcast(requireContext(), 902, intent, PendingIntentFlags.mutable())
|
||||
|
||||
@@ -13,6 +13,8 @@ import android.os.Build
|
||||
import android.text.SpannableStringBuilder
|
||||
import androidx.core.content.pm.ShortcutInfoCompat
|
||||
import androidx.core.graphics.drawable.IconCompat
|
||||
import com.bumptech.glide.Glide
|
||||
import com.bumptech.glide.RequestManager
|
||||
import com.bumptech.glide.request.target.CustomTarget
|
||||
import com.bumptech.glide.request.transition.Transition
|
||||
import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers
|
||||
@@ -75,8 +77,6 @@ import org.thoughtcrime.securesms.keyboard.KeyboardUtil
|
||||
import org.thoughtcrime.securesms.keyvalue.SignalStore
|
||||
import org.thoughtcrime.securesms.linkpreview.LinkPreview
|
||||
import org.thoughtcrime.securesms.messagerequests.MessageRequestState
|
||||
import org.thoughtcrime.securesms.mms.GlideApp
|
||||
import org.thoughtcrime.securesms.mms.GlideRequests
|
||||
import org.thoughtcrime.securesms.mms.OutgoingMessage
|
||||
import org.thoughtcrime.securesms.mms.PartAuthority
|
||||
import org.thoughtcrime.securesms.mms.QuoteModel
|
||||
@@ -123,7 +123,7 @@ class ConversationRepository(
|
||||
*/
|
||||
fun getKeyboardImageDetails(uri: Uri): Maybe<KeyboardUtil.ImageDetails> {
|
||||
return MaybeCompat.fromCallable {
|
||||
KeyboardUtil.getImageDetails(GlideApp.with(applicationContext), uri)
|
||||
KeyboardUtil.getImageDetails(Glide.with(applicationContext), uri)
|
||||
}.subscribeOn(Schedulers.io())
|
||||
}
|
||||
|
||||
@@ -474,12 +474,12 @@ class ConversationRepository(
|
||||
.joinTo(buffer = SpannableStringBuilder(), separator = "\n")
|
||||
}
|
||||
|
||||
fun getRecipientContactPhotoBitmap(context: Context, glideRequests: GlideRequests, recipient: Recipient): Single<ShortcutInfoCompat> {
|
||||
fun getRecipientContactPhotoBitmap(context: Context, requestManager: RequestManager, recipient: Recipient): Single<ShortcutInfoCompat> {
|
||||
val fallback = recipient.fallbackContactPhoto.asDrawable(context, recipient.avatarColor, false)
|
||||
|
||||
return Single
|
||||
.create { emitter ->
|
||||
glideRequests
|
||||
requestManager
|
||||
.asBitmap()
|
||||
.load(recipient.contactPhoto)
|
||||
.error(fallback)
|
||||
|
||||
@@ -8,14 +8,14 @@ package org.thoughtcrime.securesms.conversation.v2
|
||||
import android.view.LayoutInflater
|
||||
import android.view.ViewGroup
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.bumptech.glide.RequestManager
|
||||
import org.signal.core.util.toInt
|
||||
import org.thoughtcrime.securesms.R
|
||||
import org.thoughtcrime.securesms.components.ConversationTypingView
|
||||
import org.thoughtcrime.securesms.mms.GlideRequests
|
||||
import org.thoughtcrime.securesms.recipients.Recipient
|
||||
|
||||
class ConversationTypingIndicatorAdapter(
|
||||
private val glideRequests: GlideRequests
|
||||
private val requestManager: RequestManager
|
||||
) : RecyclerView.Adapter<ConversationTypingIndicatorAdapter.ViewHolder>() {
|
||||
|
||||
private var state: State = State()
|
||||
@@ -42,16 +42,16 @@ class ConversationTypingIndicatorAdapter(
|
||||
override fun getItemCount(): Int = state.typists.isNotEmpty().toInt()
|
||||
|
||||
override fun onBindViewHolder(holder: ViewHolder, position: Int) {
|
||||
holder.bind(glideRequests, state)
|
||||
holder.bind(requestManager, state)
|
||||
}
|
||||
|
||||
class ViewHolder(private val conversationTypingView: ConversationTypingView) : RecyclerView.ViewHolder(conversationTypingView) {
|
||||
fun bind(
|
||||
glideRequests: GlideRequests,
|
||||
requestManager: RequestManager,
|
||||
state: State
|
||||
) {
|
||||
conversationTypingView.setTypists(
|
||||
glideRequests,
|
||||
requestManager,
|
||||
state.typists,
|
||||
state.isGroupThread,
|
||||
state.hasWallpaper
|
||||
|
||||
@@ -11,6 +11,7 @@ import android.net.Uri
|
||||
import android.os.Build
|
||||
import androidx.core.content.pm.ShortcutInfoCompat
|
||||
import androidx.lifecycle.ViewModel
|
||||
import com.bumptech.glide.RequestManager
|
||||
import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers
|
||||
import io.reactivex.rxjava3.core.BackpressureStrategy
|
||||
import io.reactivex.rxjava3.core.Completable
|
||||
@@ -58,7 +59,6 @@ import org.thoughtcrime.securesms.keyvalue.SignalStore
|
||||
import org.thoughtcrime.securesms.linkpreview.LinkPreview
|
||||
import org.thoughtcrime.securesms.messagerequests.MessageRequestRepository
|
||||
import org.thoughtcrime.securesms.messagerequests.MessageRequestState
|
||||
import org.thoughtcrime.securesms.mms.GlideRequests
|
||||
import org.thoughtcrime.securesms.mms.QuoteModel
|
||||
import org.thoughtcrime.securesms.mms.Slide
|
||||
import org.thoughtcrime.securesms.mms.SlideDeck
|
||||
@@ -348,9 +348,9 @@ class ConversationViewModel(
|
||||
.addTo(disposables)
|
||||
}
|
||||
|
||||
fun getContactPhotoIcon(context: Context, glideRequests: GlideRequests): Single<ShortcutInfoCompat> {
|
||||
fun getContactPhotoIcon(context: Context, requestManager: RequestManager): Single<ShortcutInfoCompat> {
|
||||
return recipient.firstOrError().flatMap {
|
||||
repository.getRecipientContactPhotoBitmap(context, glideRequests, it)
|
||||
repository.getRecipientContactPhotoBitmap(context, requestManager, it)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -5,19 +5,19 @@
|
||||
|
||||
package org.thoughtcrime.securesms.conversation.v2.items
|
||||
|
||||
import com.bumptech.glide.RequestManager
|
||||
import org.thoughtcrime.securesms.conversation.ConversationAdapter
|
||||
import org.thoughtcrime.securesms.conversation.ConversationItemDisplayMode
|
||||
import org.thoughtcrime.securesms.conversation.colors.Colorizer
|
||||
import org.thoughtcrime.securesms.conversation.mutiselect.MultiselectPart
|
||||
import org.thoughtcrime.securesms.database.model.MessageRecord
|
||||
import org.thoughtcrime.securesms.mms.GlideRequests
|
||||
|
||||
/**
|
||||
* Describes the Adapter "context" that would normally have been
|
||||
* visible to an inner class.
|
||||
*/
|
||||
interface V2ConversationContext {
|
||||
val glideRequests: GlideRequests
|
||||
val requestManager: RequestManager
|
||||
val displayMode: ConversationItemDisplayMode
|
||||
val clickListener: ConversationAdapter.ItemClickListener
|
||||
val selectedItems: Set<MultiselectPart>
|
||||
|
||||
@@ -77,7 +77,7 @@ class V2ConversationItemMediaViewHolder<Model : MappingModel<Model>>(
|
||||
|
||||
binding.quoteStub.visibility = View.VISIBLE
|
||||
quoteView.setQuote(
|
||||
conversationContext.glideRequests,
|
||||
conversationContext.requestManager,
|
||||
quote.id,
|
||||
Recipient.live(quote.author).get(),
|
||||
quote.displayText,
|
||||
|
||||
@@ -531,8 +531,8 @@ open class V2ConversationItemTextOnlyViewHolder<Model : MappingModel<Model>>(
|
||||
binding.senderBadge.visible = shape.isEndingShape
|
||||
|
||||
binding.senderName.text = sender.getDisplayName(context)
|
||||
binding.senderPhoto.setAvatar(conversationContext.glideRequests, sender, false)
|
||||
binding.senderBadge.setBadgeFromRecipient(sender, conversationContext.glideRequests)
|
||||
binding.senderPhoto.setAvatar(conversationContext.requestManager, sender, false)
|
||||
binding.senderBadge.setBadgeFromRecipient(sender, conversationContext.requestManager)
|
||||
binding.senderPhoto.setOnClickListener {
|
||||
conversationContext.clickListener.onGroupMemberClicked(
|
||||
conversationMessage.messageRecord.fromRecipient.id,
|
||||
|
||||
@@ -115,10 +115,10 @@ class V2ConversationItemThumbnail @JvmOverloads constructor(
|
||||
thumbnailSlide = thumbnail
|
||||
this.fastPreflightId = fastPreflightId
|
||||
|
||||
conversationContext.glideRequests.clear(this)
|
||||
conversationContext.requestManager.clear(this)
|
||||
|
||||
if (placeholderTarget != null) {
|
||||
conversationContext.glideRequests.clear(placeholderTarget)
|
||||
conversationContext.requestManager.clear(placeholderTarget)
|
||||
}
|
||||
|
||||
val thumbnailUri = thumbnail.uri
|
||||
@@ -147,7 +147,7 @@ class V2ConversationItemThumbnail @JvmOverloads constructor(
|
||||
if (thumbnailBlur != null) {
|
||||
val placeholderTarget = PlaceholderTarget(this)
|
||||
conversationContext
|
||||
.glideRequests
|
||||
.requestManager
|
||||
.load(thumbnailBlur)
|
||||
.centerInside()
|
||||
.dontAnimate()
|
||||
@@ -159,7 +159,7 @@ class V2ConversationItemThumbnail @JvmOverloads constructor(
|
||||
|
||||
if (thumbnailUri != null) {
|
||||
conversationContext
|
||||
.glideRequests
|
||||
.requestManager
|
||||
.load(DecryptableStreamUriLoader.DecryptableUri(thumbnailUri))
|
||||
.centerInside()
|
||||
.dontAnimate()
|
||||
|
||||
Reference in New Issue
Block a user