From 8083596f19b7daec0cc7ccb0a36515b52a0dcb89 Mon Sep 17 00:00:00 2001 From: Greyson Parrelli Date: Mon, 30 Dec 2019 16:13:18 -0500 Subject: [PATCH] Use FitCenter sizing for stickers. --- res/layout/sticker_view.xml | 3 ++- res/values/attrs.xml | 4 ++++ src/org/thoughtcrime/securesms/components/ThumbnailView.java | 5 ++++- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/res/layout/sticker_view.xml b/res/layout/sticker_view.xml index 3dfd2b289b..17dba9118d 100644 --- a/res/layout/sticker_view.xml +++ b/res/layout/sticker_view.xml @@ -17,6 +17,7 @@ android:id="@+id/sticker_thumbnail" android:layout_width="match_parent" android:layout_height="match_parent" - app:thumbnail_radius="0dp"/> + app:thumbnail_radius="0dp" + app:thumbnail_fit="fit_center"/> diff --git a/res/values/attrs.xml b/res/values/attrs.xml index 6dfcae7f0c..4becd0cf80 100644 --- a/res/values/attrs.xml +++ b/res/values/attrs.xml @@ -266,6 +266,10 @@ + + + + diff --git a/src/org/thoughtcrime/securesms/components/ThumbnailView.java b/src/org/thoughtcrime/securesms/components/ThumbnailView.java index aec3acfda0..874ea6b876 100644 --- a/src/org/thoughtcrime/securesms/components/ThumbnailView.java +++ b/src/org/thoughtcrime/securesms/components/ThumbnailView.java @@ -17,6 +17,7 @@ import com.bumptech.glide.RequestBuilder; import com.bumptech.glide.load.engine.DiskCacheStrategy; import com.bumptech.glide.load.resource.bitmap.BitmapTransformation; import com.bumptech.glide.load.resource.bitmap.CenterCrop; +import com.bumptech.glide.load.resource.bitmap.FitCenter; import com.bumptech.glide.load.resource.bitmap.RoundedCorners; import com.bumptech.glide.request.RequestOptions; @@ -68,6 +69,7 @@ public class ThumbnailView extends FrameLayout { private SlideClickListener thumbnailClickListener = null; private SlidesClickedListener downloadClickListener = null; private Slide slide = null; + private BitmapTransformation fit = new CenterCrop(); private int radius; @@ -97,6 +99,7 @@ public class ThumbnailView extends FrameLayout { bounds[MIN_HEIGHT] = typedArray.getDimensionPixelSize(R.styleable.ThumbnailView_minHeight, 0); bounds[MAX_HEIGHT] = typedArray.getDimensionPixelSize(R.styleable.ThumbnailView_maxHeight, 0); radius = typedArray.getDimensionPixelSize(R.styleable.ThumbnailView_thumbnail_radius, getResources().getDimensionPixelSize(R.dimen.thumbnail_default_radius)); + fit = typedArray.getInt(R.styleable.ThumbnailView_thumbnail_fit, 0) == 1 ? new FitCenter() : new CenterCrop(); typedArray.recycle(); } else { radius = getResources().getDimensionPixelSize(R.dimen.message_corner_collapse_radius); @@ -394,7 +397,7 @@ public class ThumbnailView extends FrameLayout { private GlideRequest buildThumbnailGlideRequest(@NonNull GlideRequests glideRequests, @NonNull Slide slide) { GlideRequest request = applySizing(glideRequests.load(new DecryptableUri(slide.getThumbnailUri())) .diskCacheStrategy(DiskCacheStrategy.RESOURCE) - .transition(withCrossFade()), new CenterCrop()); + .transition(withCrossFade()), fit); if (slide.isInProgress()) return request; else return request.apply(RequestOptions.errorOf(R.drawable.ic_missing_thumbnail_picture));