Clean up ThumbnailView warnings.

main
Alex Hart 2023-02-13 12:09:26 -04:00 zatwierdzone przez Greyson Parrelli
rodzic 702cf6ef71
commit 22cad64089
1 zmienionych plików z 39 dodań i 38 usunięć

Wyświetl plik

@ -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);
}
}