kopia lustrzana https://github.com/ryukoposting/Signal-Android
Clean up ThumbnailView warnings.
rodzic
702cf6ef71
commit
22cad64089
|
@ -24,7 +24,6 @@ import androidx.appcompat.widget.AppCompatImageView;
|
|||
|
||||
import com.bumptech.glide.RequestBuilder;
|
||||
import com.bumptech.glide.load.engine.DiskCacheStrategy;
|
||||
import com.bumptech.glide.load.resource.bitmap.BitmapTransformation;
|
||||
import com.bumptech.glide.request.Request;
|
||||
import com.bumptech.glide.request.RequestListener;
|
||||
import com.bumptech.glide.request.RequestOptions;
|
||||
|
@ -69,7 +68,7 @@ public class ThumbnailView extends FrameLayout {
|
|||
|
||||
private Bitmap imageBitmap;
|
||||
private final ImageView image;
|
||||
private final ImageView blurhash;
|
||||
private final ImageView blurHash;
|
||||
private final View playOverlay;
|
||||
private final View captionIcon;
|
||||
private final AppCompatImageView errorImage;
|
||||
|
@ -82,6 +81,7 @@ public class ThumbnailView extends FrameLayout {
|
|||
|
||||
private final CornerMask cornerMask;
|
||||
|
||||
@SuppressWarnings("OptionalUsedAsFieldOrParameterType")
|
||||
private Optional<TransferControlView> transferControls = Optional.empty();
|
||||
private SlideClickListener thumbnailClickListener = null;
|
||||
private SlidesClickedListener downloadClickListener = null;
|
||||
|
@ -102,7 +102,7 @@ public class ThumbnailView extends FrameLayout {
|
|||
inflate(context, R.layout.thumbnail_view, this);
|
||||
|
||||
this.image = findViewById(R.id.thumbnail_image);
|
||||
this.blurhash = findViewById(R.id.thumbnail_blurhash);
|
||||
this.blurHash = findViewById(R.id.thumbnail_blurhash);
|
||||
this.playOverlay = findViewById(R.id.play_overlay);
|
||||
this.captionIcon = findViewById(R.id.thumbnail_caption_icon);
|
||||
this.errorImage = findViewById(R.id.thumbnail_error);
|
||||
|
@ -150,6 +150,7 @@ public class ThumbnailView extends FrameLayout {
|
|||
MeasureSpec.makeMeasureSpec(finalHeight, MeasureSpec.EXACTLY));
|
||||
}
|
||||
|
||||
@SuppressWarnings("SpellCheckingInspection")
|
||||
@Override
|
||||
protected void onSizeChanged(int w, int h, int oldw, int oldh) {
|
||||
super.onSizeChanged(w, h, oldw, oldh);
|
||||
|
@ -258,9 +259,9 @@ public class ThumbnailView extends FrameLayout {
|
|||
targetDimens[HEIGHT] = (int) measuredHeight;
|
||||
}
|
||||
|
||||
private int getNonZeroCount(int[] vals) {
|
||||
private int getNonZeroCount(int[] values) {
|
||||
int count = 0;
|
||||
for (int val : vals) {
|
||||
for (int val : values) {
|
||||
if (val > 0) {
|
||||
count++;
|
||||
}
|
||||
|
@ -276,13 +277,13 @@ public class ThumbnailView extends FrameLayout {
|
|||
@Override
|
||||
public void setFocusable(boolean focusable) {
|
||||
super.setFocusable(focusable);
|
||||
if (transferControls.isPresent()) transferControls.get().setFocusable(focusable);
|
||||
transferControls.ifPresent(transferControlView -> transferControlView.setFocusable(focusable));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setClickable(boolean clickable) {
|
||||
super.setClickable(clickable);
|
||||
if (transferControls.isPresent()) transferControls.get().setClickable(clickable);
|
||||
transferControls.ifPresent(transferControlView -> transferControlView.setClickable(clickable));
|
||||
}
|
||||
|
||||
public @Nullable Bitmap getBitmap() {
|
||||
|
@ -307,10 +308,10 @@ public class ThumbnailView extends FrameLayout {
|
|||
|
||||
public void setImageDrawable(@NonNull GlideRequests glideRequests, @Nullable Drawable drawable) {
|
||||
glideRequests.clear(image);
|
||||
glideRequests.clear(blurhash);
|
||||
glideRequests.clear(blurHash);
|
||||
|
||||
image.setImageDrawable(drawable);
|
||||
blurhash.setImageDrawable(null);
|
||||
blurHash.setImageDrawable(null);
|
||||
}
|
||||
|
||||
@UiThread
|
||||
|
@ -331,8 +332,8 @@ public class ThumbnailView extends FrameLayout {
|
|||
transferControls.ifPresent(c -> c.setVisibility(View.GONE));
|
||||
playOverlay.setVisibility(View.GONE);
|
||||
|
||||
glideRequests.clear(blurhash);
|
||||
blurhash.setImageDrawable(null);
|
||||
glideRequests.clear(blurHash);
|
||||
blurHash.setImageDrawable(null);
|
||||
|
||||
glideRequests.clear(image);
|
||||
image.setImageDrawable(null);
|
||||
|
@ -386,7 +387,7 @@ public class ThumbnailView extends FrameLayout {
|
|||
+ ", progress " + slide.getTransferState() + ", fast preflight id: " +
|
||||
slide.asAttachment().getFastPreflightId());
|
||||
|
||||
BlurHash previousBlurhash = this.slide != null ? this.slide.getPlaceholderBlur() : null;
|
||||
BlurHash previousBlurHash = this.slide != null ? this.slide.getPlaceholderBlur() : null;
|
||||
|
||||
this.slide = slide;
|
||||
|
||||
|
@ -400,19 +401,19 @@ public class ThumbnailView extends FrameLayout {
|
|||
SettableFuture<Boolean> result = new SettableFuture<>();
|
||||
boolean resultHandled = false;
|
||||
|
||||
if (slide.hasPlaceholder() && (previousBlurhash == null || !Objects.equals(slide.getPlaceholderBlur(), previousBlurhash))) {
|
||||
buildPlaceholderGlideRequest(glideRequests, slide).into(new GlideBitmapListeningTarget(blurhash, result));
|
||||
if (slide.hasPlaceholder() && (previousBlurHash == null || !Objects.equals(slide.getPlaceholderBlur(), previousBlurHash))) {
|
||||
buildPlaceholderGlideRequest(glideRequests, slide).into(new GlideBitmapListeningTarget(blurHash, result));
|
||||
resultHandled = true;
|
||||
} else if (!slide.hasPlaceholder()) {
|
||||
glideRequests.clear(blurhash);
|
||||
blurhash.setImageDrawable(null);
|
||||
glideRequests.clear(blurHash);
|
||||
blurHash.setImageDrawable(null);
|
||||
}
|
||||
|
||||
if (slide.getUri() != null) {
|
||||
if (!MediaUtil.isJpegType(slide.getContentType()) && !MediaUtil.isVideoType(slide.getContentType())) {
|
||||
SettableFuture<Boolean> thumbnailFuture = new SettableFuture<>();
|
||||
thumbnailFuture.deferTo(result);
|
||||
thumbnailFuture.addListener(new BlurhashClearListener(glideRequests, blurhash));
|
||||
thumbnailFuture.addListener(new BlurHashClearListener(glideRequests, blurHash));
|
||||
}
|
||||
|
||||
buildThumbnailGlideRequest(glideRequests, slide).into(new BitmapCaptor(image, result));
|
||||
|
@ -466,7 +467,7 @@ public class ThumbnailView extends FrameLayout {
|
|||
}
|
||||
}
|
||||
|
||||
blurhash.setImageDrawable(null);
|
||||
blurHash.setImageDrawable(null);
|
||||
|
||||
return future;
|
||||
}
|
||||
|
@ -476,17 +477,17 @@ public class ThumbnailView extends FrameLayout {
|
|||
|
||||
if (transferControls.isPresent()) getTransferControls().setVisibility(View.GONE);
|
||||
|
||||
GlideRequest request = glideRequests.load(model)
|
||||
.diskCacheStrategy(DiskCacheStrategy.NONE)
|
||||
.placeholder(model.getPlaceholder())
|
||||
.transition(withCrossFade());
|
||||
GlideRequest<Drawable> request = glideRequests.load(model)
|
||||
.diskCacheStrategy(DiskCacheStrategy.NONE)
|
||||
.placeholder(model.getPlaceholder())
|
||||
.transition(withCrossFade());
|
||||
|
||||
if (width > 0 && height > 0) {
|
||||
request = request.override(width, height);
|
||||
}
|
||||
|
||||
request.into(new BitmapCaptor(image, future));
|
||||
blurhash.setImageDrawable(null);
|
||||
blurHash.setImageDrawable(null);
|
||||
|
||||
return future;
|
||||
}
|
||||
|
@ -507,8 +508,8 @@ public class ThumbnailView extends FrameLayout {
|
|||
getTransferControls().clear();
|
||||
}
|
||||
|
||||
glideRequests.clear(blurhash);
|
||||
blurhash.setImageDrawable(null);
|
||||
glideRequests.clear(blurHash);
|
||||
blurHash.setImageDrawable(null);
|
||||
|
||||
slide = null;
|
||||
}
|
||||
|
@ -530,8 +531,8 @@ public class ThumbnailView extends FrameLayout {
|
|||
invalidate();
|
||||
}
|
||||
|
||||
private GlideRequest buildThumbnailGlideRequest(@NonNull GlideRequests glideRequests, @NonNull Slide slide) {
|
||||
GlideRequest request = applySizing(glideRequests.load(new DecryptableUri(slide.getUri()))
|
||||
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)
|
||||
.transition(withCrossFade()));
|
||||
|
||||
|
@ -544,7 +545,7 @@ public class ThumbnailView extends FrameLayout {
|
|||
}
|
||||
}
|
||||
|
||||
private RequestBuilder buildPlaceholderGlideRequest(@NonNull GlideRequests glideRequests, @NonNull Slide slide) {
|
||||
private RequestBuilder<Bitmap> buildPlaceholderGlideRequest(@NonNull GlideRequests glideRequests, @NonNull Slide slide) {
|
||||
GlideRequest<Bitmap> bitmap = glideRequests.asBitmap();
|
||||
BlurHash placeholderBlur = slide.getPlaceholderBlur();
|
||||
|
||||
|
@ -557,7 +558,7 @@ public class ThumbnailView extends FrameLayout {
|
|||
return applySizing(bitmap.diskCacheStrategy(DiskCacheStrategy.NONE));
|
||||
}
|
||||
|
||||
private GlideRequest applySizing(@NonNull GlideRequest request) {
|
||||
private <TranscodeType> GlideRequest<TranscodeType> applySizing(@NonNull GlideRequest<TranscodeType> request) {
|
||||
int[] size = new int[2];
|
||||
fillTargetDimensions(size, dimens, bounds);
|
||||
if (size[WIDTH] == 0 && size[HEIGHT] == 0) {
|
||||
|
@ -614,31 +615,31 @@ public class ThumbnailView extends FrameLayout {
|
|||
if (downloadClickListener != null && slide != null) {
|
||||
downloadClickListener.onClick(view, Collections.singletonList(slide));
|
||||
} else {
|
||||
Log.w(TAG, "Received a download button click, but unable to execute it. slide: " + String.valueOf(slide) + " downloadClickListener: " + String.valueOf(downloadClickListener));
|
||||
Log.w(TAG, "Received a download button click, but unable to execute it. slide: " + slide + " downloadClickListener: " + downloadClickListener);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static class BlurhashClearListener implements ListenableFuture.Listener<Boolean> {
|
||||
private static class BlurHashClearListener implements ListenableFuture.Listener<Boolean> {
|
||||
|
||||
private final GlideRequests glideRequests;
|
||||
private final ImageView blurhash;
|
||||
private final ImageView blurHash;
|
||||
|
||||
private BlurhashClearListener(@NonNull GlideRequests glideRequests, @NonNull ImageView blurhash) {
|
||||
private BlurHashClearListener(@NonNull GlideRequests glideRequests, @NonNull ImageView blurHash) {
|
||||
this.glideRequests = glideRequests;
|
||||
this.blurhash = blurhash;
|
||||
this.blurHash = blurHash;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSuccess(Boolean result) {
|
||||
glideRequests.clear(blurhash);
|
||||
blurhash.setImageDrawable(null);
|
||||
glideRequests.clear(blurHash);
|
||||
blurHash.setImageDrawable(null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFailure(ExecutionException e) {
|
||||
glideRequests.clear(blurhash);
|
||||
blurhash.setImageDrawable(null);
|
||||
glideRequests.clear(blurHash);
|
||||
blurHash.setImageDrawable(null);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Ładowanie…
Reference in New Issue