Don't allow API<23 to display gif videos in conversation list.

This commit is contained in:
Alex Hart 2021-09-22 16:21:13 -03:00
parent 67403a6a9f
commit c93d882fe1
3 changed files with 9 additions and 4 deletions

View file

@ -10,6 +10,7 @@ import android.graphics.drawable.ShapeDrawable;
import android.graphics.drawable.shapes.RoundRectShape;
import android.graphics.drawable.shapes.Shape;
import android.net.Uri;
import android.os.Build;
import android.util.AttributeSet;
import android.view.View;
import android.view.ViewGroup;
@ -438,8 +439,10 @@ public class ThumbnailView extends FrameLayout {
.diskCacheStrategy(DiskCacheStrategy.RESOURCE)
.transition(withCrossFade()), fit);
if (slide.isInProgress()) return request;
else return request.apply(RequestOptions.errorOf(R.drawable.ic_missing_thumbnail_picture));
boolean doNotShowMissingThumbnailImage = GiphyMp4PlaybackPolicy.maxSimultaneousPlaybackInConversation() == 0;
if (slide.isInProgress() || doNotShowMissingThumbnailImage) return request;
else return request.apply(RequestOptions.errorOf(R.drawable.ic_missing_thumbnail_picture));
}
private RequestBuilder buildPlaceholderGlideRequest(@NonNull GlideRequests glideRequests, @NonNull Slide slide) {

View file

@ -1,5 +1,7 @@
package org.thoughtcrime.securesms.giph.mp4;
import android.os.Build;
import com.google.android.exoplayer2.mediacodec.MediaCodecInfo;
import com.google.android.exoplayer2.mediacodec.MediaCodecUtil;
import com.google.android.exoplayer2.util.MimeTypes;
@ -34,7 +36,7 @@ public final class GiphyMp4PlaybackPolicy {
}
public static int maxSimultaneousPlaybackInConversation() {
return maxSimultaneousPlaybackWithRatio(1f - SEARCH_RESULT_RATIO);
return Build.VERSION.SDK_INT >= 23 ? maxSimultaneousPlaybackWithRatio(1f - SEARCH_RESULT_RATIO) : 0;
}
public static int maxSimultaneousPlaybackInSearchResults() {

View file

@ -55,7 +55,7 @@ public class VideoSlide extends Slide {
@Override
public boolean hasPlayOverlay() {
return !(isVideoGif() && GiphyMp4PlaybackPolicy.autoplay());
return !(isVideoGif() && GiphyMp4PlaybackPolicy.autoplay()) || GiphyMp4PlaybackPolicy.maxSimultaneousPlaybackInConversation() == 0;
}
@Override