From 0324859b6ff70f540a612cd12c44d9f522864565 Mon Sep 17 00:00:00 2001 From: Hitesh Kumar Date: Mon, 11 Mar 2024 19:35:09 +0530 Subject: [PATCH] TP-59496 fix index out of bound exception in number comma transformation (#383) --- .../transformations/NumberCommaTransformation.kt | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/navi-uitron/src/main/java/com/navi/uitron/utils/transformations/NumberCommaTransformation.kt b/navi-uitron/src/main/java/com/navi/uitron/utils/transformations/NumberCommaTransformation.kt index f939fc2..d426898 100644 --- a/navi-uitron/src/main/java/com/navi/uitron/utils/transformations/NumberCommaTransformation.kt +++ b/navi-uitron/src/main/java/com/navi/uitron/utils/transformations/NumberCommaTransformation.kt @@ -11,6 +11,7 @@ import androidx.compose.ui.text.AnnotatedString import androidx.compose.ui.text.input.OffsetMapping import androidx.compose.ui.text.input.TransformedText import androidx.compose.ui.text.input.VisualTransformation +import com.navi.uitron.utils.EMPTY import com.navi.uitron.utils.toDoubleWithSafe class NumberCommaTransformation : VisualTransformation { @@ -19,14 +20,18 @@ class NumberCommaTransformation : VisualTransformation { val transformation = reformat(text.text) return TransformedText( - AnnotatedString(transformation.formatted ?: ""), + AnnotatedString(transformation.formatted ?: EMPTY), object : OffsetMapping { override fun originalToTransformed(offset: Int): Int { - return transformation.originalToTransformed[offset] + return transformation.originalToTransformed.getOrNull(offset) + ?: transformation.formatted?.length + ?: 0 } override fun transformedToOriginal(offset: Int): Int { - return transformation.transformedToOriginal[offset] + return transformation.transformedToOriginal.getOrNull(offset) + ?: transformation.formatted?.length + ?: 0 } } )