From 2406c371dbe4cf63c70b5ab964d9726f068c9baa Mon Sep 17 00:00:00 2001 From: OxygenCobalt Date: Sat, 26 Mar 2022 11:43:48 -0600 Subject: [PATCH] widgets: work around new coil scaling behavior Fix an issue where album covers fail to load when not explicitly specifying a size. At some point, Coil changed some internal scaling logic to depend on this weird pseudo-screen size value that caused the bitmap to fail to load only on in widget creation process. Who knows why. Fix this by explicitly specifying the size in all cases. --- .../main/java/org/oxycblt/auxio/widgets/WidgetProvider.kt | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/org/oxycblt/auxio/widgets/WidgetProvider.kt b/app/src/main/java/org/oxycblt/auxio/widgets/WidgetProvider.kt index c6d4683cd..5d95d1569 100644 --- a/app/src/main/java/org/oxycblt/auxio/widgets/WidgetProvider.kt +++ b/app/src/main/java/org/oxycblt/auxio/widgets/WidgetProvider.kt @@ -31,6 +31,7 @@ import android.widget.RemoteViews import androidx.core.graphics.drawable.toBitmap import coil.imageLoader import coil.request.ImageRequest +import coil.size.Size import coil.transform.RoundedCornersTransformation import kotlin.math.min import org.oxycblt.auxio.BuildConfig @@ -120,7 +121,9 @@ class WidgetProvider : AppWidgetProvider() { .transformations(SquareFrameTransform(), transform) .size(min(metrics.widthPixels, metrics.heightPixels)) } else { - coverRequest.transformations(SquareFrameTransform()) + // Note: Explicitly use the "original" size as without it the scaling logic + // in SquareFrameTransform breaks down and results in an error. + coverRequest.transformations(SquareFrameTransform()).size(Size.ORIGINAL) } context.imageLoader.enqueue(coverRequest.build())