Skip to content

Commit

Permalink
Don't automatically convert ColorDrawable -> ColorPainter in AsyncIma…
Browse files Browse the repository at this point in the history
…gePainter. (#1762)

* Don't automatically convert ColorDrawable -> ColorPainter in AsyncImagePainter.

* Spotless.
  • Loading branch information
colinrtwhite committed May 14, 2023
1 parent 779fd54 commit 970f637
Show file tree
Hide file tree
Showing 3 changed files with 2 additions and 8 deletions.
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package coil.compose

import android.graphics.drawable.BitmapDrawable
import android.graphics.drawable.ColorDrawable
import android.graphics.drawable.Drawable
import androidx.compose.foundation.Image
import androidx.compose.foundation.lazy.LazyColumn
Expand All @@ -16,7 +15,6 @@ import androidx.compose.runtime.setValue
import androidx.compose.runtime.snapshotFlow
import androidx.compose.ui.geometry.Size
import androidx.compose.ui.geometry.isUnspecified
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.ColorFilter
import androidx.compose.ui.graphics.DefaultAlpha
import androidx.compose.ui.graphics.FilterQuality
Expand All @@ -25,7 +23,6 @@ import androidx.compose.ui.graphics.asImageBitmap
import androidx.compose.ui.graphics.drawscope.DrawScope
import androidx.compose.ui.graphics.drawscope.DrawScope.Companion.DefaultFilterQuality
import androidx.compose.ui.graphics.painter.BitmapPainter
import androidx.compose.ui.graphics.painter.ColorPainter
import androidx.compose.ui.graphics.painter.Painter
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.layout.ContentScale
Expand Down Expand Up @@ -335,7 +332,6 @@ class AsyncImagePainter internal constructor(
/** Convert this [Drawable] into a [Painter] using Compose primitives if possible. */
private fun Drawable.toPainter() = when (this) {
is BitmapDrawable -> BitmapPainter(bitmap.asImageBitmap(), filterQuality = filterQuality)
is ColorDrawable -> ColorPainter(Color(color))
else -> DrawablePainter(mutate())
}

Expand Down
3 changes: 1 addition & 2 deletions coil-test-paparazzi/src/test/java/coil/test/PaparazziTest.kt
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ package coil.test

import android.graphics.Color
import android.graphics.drawable.ColorDrawable
import android.graphics.drawable.LayerDrawable
import android.widget.ImageView
import androidx.compose.ui.layout.ContentScale
import app.cash.paparazzi.DeviceConfig.Companion.PIXEL_6
Expand Down Expand Up @@ -55,7 +54,7 @@ class PaparazziTest {
fun loadCompose() {
val url = "https://www.example.com/image.jpg"
// Wrap the color drawable so it isn't automatically converted into a ColorPainter.
val drawable = object : LayerDrawable(arrayOf(ColorDrawable(Color.RED))) {
val drawable = object : ColorDrawable(Color.RED) {
override fun getIntrinsicWidth() = 100
override fun getIntrinsicHeight() = 100
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ package coil.test

import android.graphics.Color
import android.graphics.drawable.ColorDrawable
import android.graphics.drawable.LayerDrawable
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.ui.Modifier
import androidx.compose.ui.layout.ContentScale
Expand Down Expand Up @@ -38,7 +37,7 @@ class RoborazziComposeTest {
fun loadCompose() {
val url = "https://www.example.com/image.jpg"
// Wrap the color drawable so it isn't automatically converted into a ColorPainter.
val drawable = object : LayerDrawable(arrayOf(ColorDrawable(Color.RED))) {
val drawable = object : ColorDrawable(Color.RED) {
override fun getIntrinsicWidth() = 100
override fun getIntrinsicHeight() = 100
}
Expand Down

0 comments on commit 970f637

Please sign in to comment.