From 9f889f4ea1644d61691d1fa1b57f30ebb915ed55 Mon Sep 17 00:00:00 2001 From: Akash Yadav Date: Sat, 5 Nov 2022 17:18:41 +0530 Subject: [PATCH] Fixed: Hardcoded resource type DIMEN in parseReference(...) --- tests/test-home/.androidide/init/model.jar | Bin 65261 -> 65261 bytes .../inflater/internal/utils/parseUtils.kt | 16 ++++++++++++---- .../androidide/inflater/ValueParsersTest.kt | 7 ------- 3 files changed, 12 insertions(+), 11 deletions(-) diff --git a/tests/test-home/.androidide/init/model.jar b/tests/test-home/.androidide/init/model.jar index af504084f4b8487595ff3411cf663570bdcea79f..057923ba10ab04fea4869f32b77aa5bef5559e06 100644 GIT binary patch delta 31 ncmaF+m-+2qW}X0VW)?061`ZB}4V@c#{N6Kd=-eFhej+~rw_*#g delta 31 ncmaF+m-+2qW}X0VW)?061`ZAe-`0&he(#xlTQ|qNpU4jYuJ;Pz diff --git a/xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/utils/parseUtils.kt b/xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/utils/parseUtils.kt index cf1c7a2e3..0ff19c5da 100644 --- a/xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/utils/parseUtils.kt +++ b/xml-inflater/src/main/java/com/itsaky/androidide/inflater/internal/utils/parseUtils.kt @@ -25,6 +25,7 @@ import android.util.TypedValue.complexToDimension import android.view.ViewGroup.LayoutParams import androidx.core.text.isDigitsOnly import com.android.aaptcompiler.AaptResourceType +import com.android.aaptcompiler.AaptResourceType.ATTR import com.android.aaptcompiler.AaptResourceType.BOOL import com.android.aaptcompiler.AaptResourceType.DIMEN import com.android.aaptcompiler.AaptResourceType.INTEGER @@ -191,11 +192,11 @@ fun parseReference( ): T { val (pck, type, name) = parseResourceReference(value) ?: return def if (type != expectedType) { - throwInvalidResType(DIMEN, value) + throwInvalidResType(expectedType, value) } - return if (pck == null) { + return if (pck.isNullOrBlank()) { resolveUnqualifiedResourceReference( - type = DIMEN, + type = type, name = name, value = value, def = def, @@ -204,7 +205,7 @@ fun parseReference( } else { resolveQualifiedResourceReference( pck = pck, - type = DIMEN, + type = type, name = name, def = def, resolver = resolver @@ -307,6 +308,13 @@ private fun parseResourceReference(value: String): Triple