diff --git a/app/src/main/kotlin/com/x8bit/bitwarden/data/autofill/util/HtmlInfoExtensions.kt b/app/src/main/kotlin/com/x8bit/bitwarden/data/autofill/util/HtmlInfoExtensions.kt index 7d7876a621..0fab7c38c1 100644 --- a/app/src/main/kotlin/com/x8bit/bitwarden/data/autofill/util/HtmlInfoExtensions.kt +++ b/app/src/main/kotlin/com/x8bit/bitwarden/data/autofill/util/HtmlInfoExtensions.kt @@ -279,12 +279,12 @@ private fun List.containsAnyTermsPreservingDigits(terms: List): } /** - * Checks if any string in the list, once normalized, is exactly equal to one of the [terms]. Used - * for terms too generic to match safely as a substring (e.g. "address" -- see + * Checks if any string in the list, once normalized digit-preserving, is exactly equal to one of + * the [terms]. Used for terms too generic to match safely as a substring (e.g. "address" -- see * [SUPPORTED_EXACT_ADDRESS_STREET_HINTS]). */ private fun List.equalsAnyTerms(terms: List): Boolean = - this.any { string -> string.toLowerCaseAndStripNonAlpha() in terms } + this.any { string -> string.toLowerCaseAndStripNonAlphanumeric() in terms } /** * The supported attribute keys whose value can represent an autofill hint. diff --git a/app/src/main/kotlin/com/x8bit/bitwarden/data/autofill/util/ViewStructureUtils.kt b/app/src/main/kotlin/com/x8bit/bitwarden/data/autofill/util/ViewStructureUtils.kt index 0f70650993..fc9113efc8 100644 --- a/app/src/main/kotlin/com/x8bit/bitwarden/data/autofill/util/ViewStructureUtils.kt +++ b/app/src/main/kotlin/com/x8bit/bitwarden/data/autofill/util/ViewStructureUtils.kt @@ -224,6 +224,7 @@ val SUPPORTED_RAW_ADDRESS_STREET_HINTS: List = listOf( */ val SUPPORTED_EXACT_ADDRESS_STREET_HINTS: List = listOf( "address", + "address1", ) /** diff --git a/app/src/test/kotlin/com/x8bit/bitwarden/data/autofill/util/ViewNodeExtensionsTest.kt b/app/src/test/kotlin/com/x8bit/bitwarden/data/autofill/util/ViewNodeExtensionsTest.kt index 2cee8fa725..d778b1dff4 100644 --- a/app/src/test/kotlin/com/x8bit/bitwarden/data/autofill/util/ViewNodeExtensionsTest.kt +++ b/app/src/test/kotlin/com/x8bit/bitwarden/data/autofill/util/ViewNodeExtensionsTest.kt @@ -1970,6 +1970,22 @@ class ViewNodeExtensionsTest { assertFalse(viewNode.isAddressStreetField) } + @Test + fun `isAddressStreetField returns true when htmlInfo hint is address1`() { + setupUnsupportedInputFieldViewNode() + every { viewNode.htmlInfo.hints() } returns listOf("address1") + + assertTrue(viewNode.isAddressStreetField) + } + + @Test + fun `isAddressStreetField returns false when htmlInfo hint is address3`() { + setupUnsupportedInputFieldViewNode() + every { viewNode.htmlInfo.hints() } returns listOf("address3") + + assertFalse(viewNode.isAddressStreetField) + } + @Test fun `isAddressExtendedField returns true when idEntry is supported`() { setupUnsupportedInputFieldViewNode()