From 0db75f0534d793d9a5a25d705d322a00b982641c Mon Sep 17 00:00:00 2001 From: Danil Nikolaev Date: Sat, 13 Jul 2024 14:42:11 +0300 Subject: [PATCH] fix crash on pre-oreo android devices --- .../com/meloda/app/fast/designsystem/AutoFill.kt | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/core/designsystem/src/main/kotlin/com/meloda/app/fast/designsystem/AutoFill.kt b/core/designsystem/src/main/kotlin/com/meloda/app/fast/designsystem/AutoFill.kt index 7aedae57..9298dea5 100644 --- a/core/designsystem/src/main/kotlin/com/meloda/app/fast/designsystem/AutoFill.kt +++ b/core/designsystem/src/main/kotlin/com/meloda/app/fast/designsystem/AutoFill.kt @@ -56,6 +56,9 @@ fun autoFillRequestHandler( } val autofill = LocalAutofill.current LocalAutofillTree.current += autoFillNode + + if (Build.VERSION.SDK_INT < Build.VERSION_CODES.O) return EmptyAutoFillHandler + return remember { @RequiresApi(Build.VERSION_CODES.O) object : AutoFillHandler { @@ -112,10 +115,21 @@ fun Rect.toAndroidRect(): android.graphics.Rect { interface AutoFillHandler { val autoFill: Autofill? - val autoFillNode: AutofillNode + val autoFillNode: AutofillNode? fun requestVerifyManual() fun requestManual() fun request() fun cancel() fun Modifier.fillBounds(): Modifier } + +@ExperimentalComposeUiApi +data object EmptyAutoFillHandler : AutoFillHandler { + override val autoFill: Autofill? = null + override val autoFillNode: AutofillNode? = null + override fun requestVerifyManual() {} + override fun requestManual() {} + override fun request() {} + override fun cancel() {} + override fun Modifier.fillBounds(): Modifier = this.then(Modifier) +}