[go: nahoru, domu]

Fixes crash in CrossfadeDetector

Test: CrossfadeDetectorTest
Change-Id: I17311a04ecefbc052844dbfab152528fb93ae8c2
diff --git a/compose/animation/animation-lint/src/main/java/androidx/compose/animation/lint/CrossfadeDetector.kt b/compose/animation/animation-lint/src/main/java/androidx/compose/animation/lint/CrossfadeDetector.kt
index f3edff4..9dcc564 100644
--- a/compose/animation/animation-lint/src/main/java/androidx/compose/animation/lint/CrossfadeDetector.kt
+++ b/compose/animation/animation-lint/src/main/java/androidx/compose/animation/lint/CrossfadeDetector.kt
@@ -48,7 +48,8 @@
 
     override fun visitMethodCall(context: JavaContext, node: UCallExpression, method: PsiMethod) {
         if (method.isInPackageName(Names.Animation.PackageName)) {
-            val lambdaArgument = node.valueArguments.filterIsInstance<ULambdaExpression>().first()
+            val lambdaArgument = node.valueArguments.filterIsInstance<ULambdaExpression>()
+                .firstOrNull() ?: return
 
             lambdaArgument.findUnreferencedParameters().forEach { unreferencedParameter ->
                 val location = unreferencedParameter.parameter
diff --git a/compose/animation/animation-lint/src/test/java/androidx/compose/animation/lint/CrossfadeDetectorTest.kt b/compose/animation/animation-lint/src/test/java/androidx/compose/animation/lint/CrossfadeDetectorTest.kt
index 9b483b1..180b874 100644
--- a/compose/animation/animation-lint/src/test/java/androidx/compose/animation/lint/CrossfadeDetectorTest.kt
+++ b/compose/animation/animation-lint/src/test/java/androidx/compose/animation/lint/CrossfadeDetectorTest.kt
@@ -177,6 +177,9 @@
                 Crossfade(foo) { param -> if (param) { /**/ } else { /**/ } }
                 Crossfade(foo, content = { param -> if (param) { /**/ } else { /**/ } })
 
+                val content : @Composable (Boolean) -> Unit = {}
+                Crossfade(foo, content = content)
+
                 Crossfade(foo) { param ->
                     foo.let {
                         it.let {