mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-04-23 10:20:25 +01:00
Specify scale type for glide thumbnails.
This commit is contained in:
@@ -125,6 +125,7 @@ public class RecentPhotoViewRail extends FrameLayout implements LoaderManager.Lo
|
||||
.signature(signature)
|
||||
.diskCacheStrategy(DiskCacheStrategy.NONE)
|
||||
.transition(DrawableTransitionOptions.withCrossFade())
|
||||
.centerCrop()
|
||||
.into(viewHolder.imageView);
|
||||
|
||||
viewHolder.imageView.setOnClickListener(v -> {
|
||||
|
||||
@@ -28,6 +28,7 @@ import com.bumptech.glide.request.RequestListener;
|
||||
import com.bumptech.glide.request.RequestOptions;
|
||||
|
||||
import org.signal.core.util.logging.Log;
|
||||
import org.signal.glide.transforms.SignalDownsampleStrategy;
|
||||
import org.thoughtcrime.securesms.R;
|
||||
import org.thoughtcrime.securesms.blurhash.BlurHash;
|
||||
import org.thoughtcrime.securesms.database.AttachmentTable;
|
||||
@@ -454,6 +455,7 @@ public class ThumbnailView extends FrameLayout {
|
||||
|
||||
GlideRequest<Drawable> request = glideRequests.load(new DecryptableUri(uri))
|
||||
.diskCacheStrategy(DiskCacheStrategy.NONE)
|
||||
.downsample(SignalDownsampleStrategy.CENTER_OUTSIDE_NO_UPSCALE)
|
||||
.listener(listener);
|
||||
|
||||
if (animate) {
|
||||
@@ -486,6 +488,7 @@ public class ThumbnailView extends FrameLayout {
|
||||
GlideRequest<Drawable> request = glideRequests.load(model)
|
||||
.diskCacheStrategy(DiskCacheStrategy.NONE)
|
||||
.placeholder(model.getPlaceholder())
|
||||
.downsample(SignalDownsampleStrategy.CENTER_OUTSIDE_NO_UPSCALE)
|
||||
.transition(withCrossFade());
|
||||
|
||||
request = override(request, width, height);
|
||||
@@ -554,6 +557,7 @@ public class ThumbnailView extends FrameLayout {
|
||||
private GlideRequest<Drawable> buildThumbnailGlideRequest(@NonNull GlideRequests glideRequests, @NonNull Slide slide) {
|
||||
GlideRequest<Drawable> request = applySizing(glideRequests.load(new DecryptableUri(Objects.requireNonNull(slide.getUri())))
|
||||
.diskCacheStrategy(DiskCacheStrategy.RESOURCE)
|
||||
.downsample(SignalDownsampleStrategy.CENTER_OUTSIDE_NO_UPSCALE)
|
||||
.transition(withCrossFade()));
|
||||
|
||||
boolean doNotShowMissingThumbnailImage = Build.VERSION.SDK_INT < 23;
|
||||
|
||||
@@ -263,6 +263,7 @@ public class CallParticipantView extends ConstraintLayout {
|
||||
.fallback(fallbackPhoto.asCallCard(getContext()))
|
||||
.error(fallbackPhoto.asCallCard(getContext()))
|
||||
.diskCacheStrategy(DiskCacheStrategy.ALL)
|
||||
.fitCenter()
|
||||
.into(pipAvatar);
|
||||
|
||||
pipAvatar.setScaleType(contactPhoto == null ? ImageView.ScaleType.CENTER_INSIDE : ImageView.ScaleType.CENTER_CROP);
|
||||
|
||||
@@ -68,6 +68,7 @@ public class ConversationStickerSuggestionAdapter extends RecyclerView.Adapter<C
|
||||
void bind(@NonNull GlideRequests glideRequests, @NonNull EventListener eventListener, @NonNull StickerRecord sticker) {
|
||||
glideRequests.load(new DecryptableUri(sticker.getUri()))
|
||||
.transition(DrawableTransitionOptions.withCrossFade())
|
||||
.fitCenter()
|
||||
.into(image);
|
||||
|
||||
itemView.setOnClickListener(v -> {
|
||||
|
||||
@@ -100,6 +100,7 @@ final class GiphyMp4ViewHolder extends MappingViewHolder<GiphyImage> implements
|
||||
.placeholder(placeholder)
|
||||
.diskCacheStrategy(DiskCacheStrategy.ALL)
|
||||
.transition(DrawableTransitionOptions.withCrossFade())
|
||||
.centerCrop()
|
||||
.into(stillImage);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -41,7 +41,7 @@ public class MediaSendGifFragment extends Fragment implements MediaSendPageFragm
|
||||
super.onViewCreated(view, savedInstanceState);
|
||||
|
||||
uri = getArguments().getParcelable(KEY_URI);
|
||||
GlideApp.with(this).load(new DecryptableStreamUriLoader.DecryptableUri(uri)).into((ImageView) view);
|
||||
GlideApp.with(this).load(new DecryptableStreamUriLoader.DecryptableUri(uri)).fitCenter().into((ImageView) view);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -143,6 +143,7 @@ public class ViewOnceMessageActivity extends PassphraseRequiredActivity implemen
|
||||
|
||||
GlideApp.with(this)
|
||||
.load(new DecryptableUri(uri))
|
||||
.fitCenter()
|
||||
.into(image);
|
||||
}
|
||||
|
||||
|
||||
@@ -273,6 +273,7 @@ final class StickerManagementAdapter extends SectionedRecyclerViewAdapter<String
|
||||
|
||||
glideRequests.load(new DecryptableUri(stickerPack.getCover().getUri()))
|
||||
.transition(DrawableTransitionOptions.withCrossFade())
|
||||
.fitCenter()
|
||||
.set(ApngOptions.ANIMATE, allowApngAnimation)
|
||||
.into(cover);
|
||||
|
||||
|
||||
@@ -206,6 +206,7 @@ public final class StickerPackPreviewActivity extends PassphraseRequiredActivity
|
||||
: new StickerRemoteUri(cover.getPackId(), cover.getPackKey(), cover.getId());
|
||||
GlideApp.with(this).load(model)
|
||||
.transition(DrawableTransitionOptions.withCrossFade())
|
||||
.fitCenter()
|
||||
.set(ApngOptions.ANIMATE, DeviceProperties.shouldAllowApngStickerAnimation(this))
|
||||
.into(coverImage);
|
||||
} else {
|
||||
|
||||
@@ -82,6 +82,7 @@ public final class StickerPackPreviewAdapter extends RecyclerView.Adapter<Sticke
|
||||
glideRequests.load(currentGlideModel)
|
||||
.transition(DrawableTransitionOptions.withCrossFade())
|
||||
.set(ApngOptions.ANIMATE, allowApngAnimation)
|
||||
.centerInside()
|
||||
.into(image);
|
||||
|
||||
image.setOnLongClickListener(v -> {
|
||||
|
||||
@@ -40,6 +40,7 @@ final class StickerPreviewPopup extends PopupWindow {
|
||||
emojiText.setText(emoji);
|
||||
glideRequests.load(stickerGlideModel)
|
||||
.diskCacheStrategy(DiskCacheStrategy.NONE)
|
||||
.fitCenter()
|
||||
.into(image);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -58,6 +58,7 @@ public final class AvatarUtil {
|
||||
GlideApp.with(target)
|
||||
.load(photo)
|
||||
.transform(new BlurTransformation(context, 0.25f, BlurTransformation.MAX_RADIUS))
|
||||
.centerCrop()
|
||||
.into(new CustomViewTarget<View, Drawable>(target) {
|
||||
@Override
|
||||
public void onLoadFailed(@Nullable Drawable errorDrawable) {
|
||||
|
||||
Reference in New Issue
Block a user