From 48754e616b85e2324117188c90307bb5fa708b70 Mon Sep 17 00:00:00 2001 From: Sam Judd Date: Fri, 25 Aug 2017 15:27:53 -0700 Subject: [PATCH] Fix lint/pmd/findbugs errors. --- .../com/bumptech/glide/load/DecodeFormat.java | 2 +- .../bumptech/glide/load/engine/DecodeJob.java | 4 +++- .../engine/bitmap_recycle/LruBitmapPool.java | 23 ++++++++++++------- .../load/resource/bitmap/Downsampler.java | 4 ++-- .../resource/bitmap/HardwareConfigState.java | 2 ++ 5 files changed, 23 insertions(+), 12 deletions(-) diff --git a/library/src/main/java/com/bumptech/glide/load/DecodeFormat.java b/library/src/main/java/com/bumptech/glide/load/DecodeFormat.java index 1fea3bf3a..4837ec515 100644 --- a/library/src/main/java/com/bumptech/glide/load/DecodeFormat.java +++ b/library/src/main/java/com/bumptech/glide/load/DecodeFormat.java @@ -27,7 +27,7 @@ public enum DecodeFormat { /** * Identical to {@link #PREFER_ARGB_8888} but prevents Glide from using {@link - * android.graphics.Bitmap.Config#HARDWARE} on Android O+ + * android.graphics.Bitmap.Config#HARDWARE} on Android O+. * * @deprecated If you must disable hardware bitmaps, set * {@link com.bumptech.glide.load.resource.bitmap.Downsampler#ALLOW_HARDWARE_CONFIG} to false diff --git a/library/src/main/java/com/bumptech/glide/load/engine/DecodeJob.java b/library/src/main/java/com/bumptech/glide/load/engine/DecodeJob.java index 590964827..9f715bb45 100644 --- a/library/src/main/java/com/bumptech/glide/load/engine/DecodeJob.java +++ b/library/src/main/java/com/bumptech/glide/load/engine/DecodeJob.java @@ -478,7 +478,9 @@ class DecodeJob implements DataFetcherGenerator.FetcherReadyCallback, Options options = getOptionsWithHardwareConfig(dataSource); DataRewinder rewinder = glideContext.getRegistry().getRewinder(data); try { - return path.load(rewinder, options, width, height, new DecodeCallback<>(dataSource)); + // ResourceType in DecodeCallback below is required for compilation to work with gradle. + return path.load( + rewinder, options, width, height, new DecodeCallback(dataSource)); } finally { rewinder.cleanup(); } diff --git a/library/src/main/java/com/bumptech/glide/load/engine/bitmap_recycle/LruBitmapPool.java b/library/src/main/java/com/bumptech/glide/load/engine/bitmap_recycle/LruBitmapPool.java index 3e8fa5f67..88150031d 100644 --- a/library/src/main/java/com/bumptech/glide/load/engine/bitmap_recycle/LruBitmapPool.java +++ b/library/src/main/java/com/bumptech/glide/load/engine/bitmap_recycle/LruBitmapPool.java @@ -142,16 +142,23 @@ public class LruBitmapPool implements BitmapPool { return result; } - @Nullable - private synchronized Bitmap getDirtyOrNull(int width, int height, Bitmap.Config config) { + @TargetApi(Build.VERSION_CODES.O) + private static void assertNotHardwareConfig(Bitmap.Config config) { // Avoid short circuiting on sdk int since it breaks on some versions of Android. - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { - if (config == Bitmap.Config.HARDWARE) { - throw new IllegalArgumentException("Cannot create a mutable Bitmap with config: " + config - + ". Consider setting Downsampler#ALLOW_HARDWARE_CONFIG to false in your RequestOptions" - + " and/or in GlideBuilder.setDefaultRequestOptions"); - } + if (Build.VERSION.SDK_INT < Build.VERSION_CODES.O) { + return; } + + if (config == Bitmap.Config.HARDWARE) { + throw new IllegalArgumentException("Cannot create a mutable Bitmap with config: " + config + + ". Consider setting Downsampler#ALLOW_HARDWARE_CONFIG to false in your RequestOptions" + + " and/or in GlideBuilder.setDefaultRequestOptions"); + } + } + + @Nullable + private synchronized Bitmap getDirtyOrNull(int width, int height, Bitmap.Config config) { + assertNotHardwareConfig(config); // Config will be null for non public config types, which can lead to transformations naively // passing in null as the requested config here. See issue #194. final Bitmap result = strategy.get(width, height, config != null ? config : DEFAULT_CONFIG); diff --git a/library/src/main/java/com/bumptech/glide/load/resource/bitmap/Downsampler.java b/library/src/main/java/com/bumptech/glide/load/resource/bitmap/Downsampler.java index 0ecfa83ac..8d024d495 100644 --- a/library/src/main/java/com/bumptech/glide/load/resource/bitmap/Downsampler.java +++ b/library/src/main/java/com/bumptech/glide/load/resource/bitmap/Downsampler.java @@ -194,8 +194,8 @@ public final class Downsampler { DecodeFormat decodeFormat = options.get(DECODE_FORMAT); DownsampleStrategy downsampleStrategy = options.get(DOWNSAMPLE_STRATEGY); boolean fixBitmapToRequestedDimensions = options.get(FIX_BITMAP_SIZE_TO_REQUESTED_DIMENSIONS); - boolean isHardwareConfigAllowed = options.get(ALLOW_HARDWARE_CONFIG) != null - ? options.get(ALLOW_HARDWARE_CONFIG) : false; + boolean isHardwareConfigAllowed = + options.get(ALLOW_HARDWARE_CONFIG) != null && options.get(ALLOW_HARDWARE_CONFIG); if (decodeFormat == DecodeFormat.PREFER_ARGB_8888_DISALLOW_HARDWARE) { isHardwareConfigAllowed = false; } diff --git a/library/src/main/java/com/bumptech/glide/load/resource/bitmap/HardwareConfigState.java b/library/src/main/java/com/bumptech/glide/load/resource/bitmap/HardwareConfigState.java index 2d7c44f40..d873c51e8 100644 --- a/library/src/main/java/com/bumptech/glide/load/resource/bitmap/HardwareConfigState.java +++ b/library/src/main/java/com/bumptech/glide/load/resource/bitmap/HardwareConfigState.java @@ -1,5 +1,6 @@ package com.bumptech.glide.load.resource.bitmap; +import android.annotation.TargetApi; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.os.Build; @@ -70,6 +71,7 @@ final class HardwareConfigState { // Singleton constructor. } + @TargetApi(Build.VERSION_CODES.O) boolean setHardwareConfigIfAllowed( int targetWidth, int targetHeight, -- GitLab