diff --git a/app/src/main/java/com/x8bit/bitwarden/data/autofill/model/AutofillPartition.kt b/app/src/main/java/com/x8bit/bitwarden/data/autofill/model/AutofillPartition.kt index 4b25ae1cdd..df3b6f31fc 100644 --- a/app/src/main/java/com/x8bit/bitwarden/data/autofill/model/AutofillPartition.kt +++ b/app/src/main/java/com/x8bit/bitwarden/data/autofill/model/AutofillPartition.kt @@ -16,13 +16,6 @@ sealed class AutofillPartition { override val views: List, ) : AutofillPartition() - /** - * The identity [AutofillPartition] data. - */ - data class Identity( - override val views: List, - ) : AutofillPartition() - /** * The login [AutofillPartition] data. */ diff --git a/app/src/main/java/com/x8bit/bitwarden/data/autofill/model/AutofillView.kt b/app/src/main/java/com/x8bit/bitwarden/data/autofill/model/AutofillView.kt index 75e4181429..da894481a6 100644 --- a/app/src/main/java/com/x8bit/bitwarden/data/autofill/model/AutofillView.kt +++ b/app/src/main/java/com/x8bit/bitwarden/data/autofill/model/AutofillView.kt @@ -54,44 +54,6 @@ sealed class AutofillView { ) : Card() } - /** - * A view that corresponds to the personal info data partition for autofill fields. - */ - sealed class Identity : AutofillView() { - - /** - * The name [AutofillView] for the [Identity] data partition. - */ - data class Name( - override val autofillId: AutofillId, - override val isFocused: Boolean, - ) : Identity() - - /** - * The phone number [AutofillView] for the [Identity] data partition. - */ - data class PhoneNumber( - override val autofillId: AutofillId, - override val isFocused: Boolean, - ) : Identity() - - /** - * The postal address [AutofillView] for the [Identity] data partition. - */ - data class PostalAddress( - override val autofillId: AutofillId, - override val isFocused: Boolean, - ) : Identity() - - /** - * The postal code [AutofillView] for the [Identity] data partition. - */ - data class PostalCode( - override val autofillId: AutofillId, - override val isFocused: Boolean, - ) : Identity() - } - /** * A view that corresponds to the login data partition for autofill fields. */ diff --git a/app/src/main/java/com/x8bit/bitwarden/data/autofill/parser/AutofillParserImpl.kt b/app/src/main/java/com/x8bit/bitwarden/data/autofill/parser/AutofillParserImpl.kt index bbffa52d22..c45eb26893 100644 --- a/app/src/main/java/com/x8bit/bitwarden/data/autofill/parser/AutofillParserImpl.kt +++ b/app/src/main/java/com/x8bit/bitwarden/data/autofill/parser/AutofillParserImpl.kt @@ -33,12 +33,6 @@ class AutofillParserImpl : AutofillParser { ) } - is AutofillView.Identity -> { - AutofillPartition.Identity( - views = autofillViews.filterIsInstance(), - ) - } - is AutofillView.Login -> { AutofillPartition.Login( views = autofillViews.filterIsInstance(), diff --git a/app/src/main/java/com/x8bit/bitwarden/data/autofill/util/ViewNodeExtensions.kt b/app/src/main/java/com/x8bit/bitwarden/data/autofill/util/ViewNodeExtensions.kt index 70520fbcb8..a561621a4c 100644 --- a/app/src/main/java/com/x8bit/bitwarden/data/autofill/util/ViewNodeExtensions.kt +++ b/app/src/main/java/com/x8bit/bitwarden/data/autofill/util/ViewNodeExtensions.kt @@ -68,13 +68,6 @@ private fun buildAutofillView( ) } - View.AUTOFILL_HINT_NAME -> { - AutofillView.Identity.Name( - autofillId = autofillId, - isFocused = isFocused, - ) - } - View.AUTOFILL_HINT_PASSWORD -> { AutofillView.Login.Password( autofillId = autofillId, @@ -82,27 +75,6 @@ private fun buildAutofillView( ) } - View.AUTOFILL_HINT_PHONE -> { - AutofillView.Identity.PhoneNumber( - autofillId = autofillId, - isFocused = isFocused, - ) - } - - View.AUTOFILL_HINT_POSTAL_ADDRESS -> { - AutofillView.Identity.PostalAddress( - autofillId = autofillId, - isFocused = isFocused, - ) - } - - View.AUTOFILL_HINT_POSTAL_CODE -> { - AutofillView.Identity.PostalCode( - autofillId = autofillId, - isFocused = isFocused, - ) - } - View.AUTOFILL_HINT_USERNAME -> { AutofillView.Login.Username( autofillId = autofillId, @@ -122,10 +94,6 @@ private val SUPPORTED_HINTS: List = listOf( View.AUTOFILL_HINT_CREDIT_CARD_NUMBER, View.AUTOFILL_HINT_CREDIT_CARD_SECURITY_CODE, View.AUTOFILL_HINT_EMAIL_ADDRESS, - View.AUTOFILL_HINT_NAME, View.AUTOFILL_HINT_PASSWORD, - View.AUTOFILL_HINT_PHONE, - View.AUTOFILL_HINT_POSTAL_ADDRESS, - View.AUTOFILL_HINT_POSTAL_CODE, View.AUTOFILL_HINT_USERNAME, ) diff --git a/app/src/test/java/com/x8bit/bitwarden/data/autofill/builder/FilledDataBuilderTest.kt b/app/src/test/java/com/x8bit/bitwarden/data/autofill/builder/FilledDataBuilderTest.kt index 599273da3d..0647be1b17 100644 --- a/app/src/test/java/com/x8bit/bitwarden/data/autofill/builder/FilledDataBuilderTest.kt +++ b/app/src/test/java/com/x8bit/bitwarden/data/autofill/builder/FilledDataBuilderTest.kt @@ -24,11 +24,11 @@ class FilledDataBuilderTest { fun `build should return FilledData with FilledItems and ignored AutofillIds`() = runTest { // Setup val autofillId: AutofillId = mockk() - val autofillView = AutofillView.Identity.PostalCode( + val autofillView = AutofillView.Login.Username( autofillId = autofillId, isFocused = false, ) - val autofillPartition = AutofillPartition.Identity( + val autofillPartition = AutofillPartition.Login( views = listOf(autofillView), ) val ignoreAutofillIds: List = mockk() diff --git a/app/src/test/java/com/x8bit/bitwarden/data/autofill/parser/AutofillParserTests.kt b/app/src/test/java/com/x8bit/bitwarden/data/autofill/parser/AutofillParserTests.kt index 02a7fd5789..7ba4843b42 100644 --- a/app/src/test/java/com/x8bit/bitwarden/data/autofill/parser/AutofillParserTests.kt +++ b/app/src/test/java/com/x8bit/bitwarden/data/autofill/parser/AutofillParserTests.kt @@ -27,13 +27,6 @@ class AutofillParserTests { every { this@mockk.autofillId } returns cardAutofillId every { this@mockk.childCount } returns 0 } - private val identityAutofillHint = View.AUTOFILL_HINT_NAME - private val identityAutofillId: AutofillId = mockk() - private val identityViewNode: AssistStructure.ViewNode = mockk { - every { this@mockk.autofillHints } returns arrayOf(identityAutofillHint) - every { this@mockk.autofillId } returns identityAutofillId - every { this@mockk.childCount } returns 0 - } private val loginAutofillHint = View.AUTOFILL_HINT_USERNAME private val loginAutofillId: AutofillId = mockk() private val loginViewNode: AssistStructure.ViewNode = mockk { @@ -44,9 +37,6 @@ class AutofillParserTests { private val cardWindowNode: AssistStructure.WindowNode = mockk { every { this@mockk.rootViewNode } returns cardViewNode } - private val identityWindowNode: AssistStructure.WindowNode = mockk { - every { this@mockk.rootViewNode } returns identityViewNode - } private val loginWindowNode: AssistStructure.WindowNode = mockk { every { this@mockk.rootViewNode } returns loginViewNode } @@ -128,10 +118,6 @@ class AutofillParserTests { autofillId = cardAutofillId, isFocused = true, ) - val identityAutofillView: AutofillView.Identity = AutofillView.Identity.Name( - autofillId = identityAutofillId, - isFocused = false, - ) val loginAutofillView: AutofillView.Login = AutofillView.Login.Username( autofillId = loginAutofillId, isFocused = false, @@ -144,41 +130,6 @@ class AutofillParserTests { partition = autofillPartition, ) every { cardViewNode.toAutofillView() } returns cardAutofillView - every { identityViewNode.toAutofillView() } returns identityAutofillView - every { loginViewNode.toAutofillView() } returns loginAutofillView - - // Test - val actual = parser.parse(assistStructure) - - // Verify - assertEquals(expected, actual) - } - - @Test - fun `parse should choose AutofillPartition Identity when an Identity view is focused`() { - // Setup - setupAssistStructureWithAllAutofillViewTypes() - val cardAutofillView: AutofillView.Card = AutofillView.Card.ExpirationMonth( - autofillId = cardAutofillId, - isFocused = false, - ) - val identityAutofillView: AutofillView.Identity = AutofillView.Identity.Name( - autofillId = identityAutofillId, - isFocused = true, - ) - val loginAutofillView: AutofillView.Login = AutofillView.Login.Username( - autofillId = loginAutofillId, - isFocused = false, - ) - val autofillPartition = AutofillPartition.Identity( - views = listOf(identityAutofillView), - ) - val expected = AutofillRequest.Fillable( - ignoreAutofillIds = emptyList(), - partition = autofillPartition, - ) - every { cardViewNode.toAutofillView() } returns cardAutofillView - every { identityViewNode.toAutofillView() } returns identityAutofillView every { loginViewNode.toAutofillView() } returns loginAutofillView // Test @@ -196,10 +147,6 @@ class AutofillParserTests { autofillId = cardAutofillId, isFocused = false, ) - val identityAutofillView: AutofillView.Identity = AutofillView.Identity.Name( - autofillId = identityAutofillId, - isFocused = false, - ) val loginAutofillView: AutofillView.Login = AutofillView.Login.Username( autofillId = loginAutofillId, isFocused = true, @@ -212,7 +159,6 @@ class AutofillParserTests { partition = autofillPartition, ) every { cardViewNode.toAutofillView() } returns cardAutofillView - every { identityViewNode.toAutofillView() } returns identityAutofillView every { loginViewNode.toAutofillView() } returns loginAutofillView // Test @@ -230,13 +176,9 @@ class AutofillParserTests { autofillId = cardAutofillId, isFocused = true, ) - val identityAutofillView: AutofillView.Identity = AutofillView.Identity.Name( - autofillId = identityAutofillId, - isFocused = true, - ) val loginAutofillView: AutofillView.Login = AutofillView.Login.Username( autofillId = loginAutofillId, - isFocused = false, + isFocused = true, ) val autofillPartition = AutofillPartition.Card( views = listOf(cardAutofillView), @@ -246,7 +188,6 @@ class AutofillParserTests { partition = autofillPartition, ) every { cardViewNode.toAutofillView() } returns cardAutofillView - every { identityViewNode.toAutofillView() } returns identityAutofillView every { loginViewNode.toAutofillView() } returns loginAutofillView // Test @@ -257,14 +198,12 @@ class AutofillParserTests { } /** - * Setup [assistStructure] to return window nodes with each [AutofillView] type (card, identity, - * and login) so we can test how different window node configurations produce different - * partitions. + * Setup [assistStructure] to return window nodes with each [AutofillView] type (card and login) + * so we can test how different window node configurations produce different partitions. */ private fun setupAssistStructureWithAllAutofillViewTypes() { - every { assistStructure.windowNodeCount } returns 3 + every { assistStructure.windowNodeCount } returns 2 every { assistStructure.getWindowNodeAt(0) } returns cardWindowNode - every { assistStructure.getWindowNodeAt(1) } returns identityWindowNode - every { assistStructure.getWindowNodeAt(2) } returns loginWindowNode + every { assistStructure.getWindowNodeAt(1) } returns loginWindowNode } } diff --git a/app/src/test/java/com/x8bit/bitwarden/data/autofill/util/ViewNodeExtensionsTest.kt b/app/src/test/java/com/x8bit/bitwarden/data/autofill/util/ViewNodeExtensionsTest.kt index 142ae29df8..aab41c70c3 100644 --- a/app/src/test/java/com/x8bit/bitwarden/data/autofill/util/ViewNodeExtensionsTest.kt +++ b/app/src/test/java/com/x8bit/bitwarden/data/autofill/util/ViewNodeExtensionsTest.kt @@ -104,23 +104,6 @@ class ViewNodeExtensionsTest { assertEquals(expected, actual) } - @Test - fun `toAutofillView should return AutofillView Identity Name when hint matches`() { - // Setup - val autofillHint = View.AUTOFILL_HINT_NAME - val expected = AutofillView.Identity.Name( - autofillId = expectedAutofillId, - isFocused = expectedIsFocused, - ) - every { viewNode.autofillHints } returns arrayOf(autofillHint) - - // Test - val actual = viewNode.toAutofillView() - - // Verify - assertEquals(expected, actual) - } - @Test fun `toAutofillView should return AutofillView Login Password when hint matches`() { // Setup @@ -138,57 +121,6 @@ class ViewNodeExtensionsTest { assertEquals(expected, actual) } - @Test - fun `toAutofillView should return AutofillView Identity PhoneNumber when hint matches`() { - // Setup - val autofillHint = View.AUTOFILL_HINT_PHONE - val expected = AutofillView.Identity.PhoneNumber( - autofillId = expectedAutofillId, - isFocused = expectedIsFocused, - ) - every { viewNode.autofillHints } returns arrayOf(autofillHint) - - // Test - val actual = viewNode.toAutofillView() - - // Verify - assertEquals(expected, actual) - } - - @Test - fun `toAutofillView should return AutofillView Identity PostalAddress when hint matches`() { - // Setup - val autofillHint = View.AUTOFILL_HINT_POSTAL_ADDRESS - val expected = AutofillView.Identity.PostalAddress( - autofillId = expectedAutofillId, - isFocused = expectedIsFocused, - ) - every { viewNode.autofillHints } returns arrayOf(autofillHint) - - // Test - val actual = viewNode.toAutofillView() - - // Verify - assertEquals(expected, actual) - } - - @Test - fun `toAutofillView should return AutofillView Identity PostalCOde when hint matches`() { - // Setup - val autofillHint = View.AUTOFILL_HINT_POSTAL_CODE - val expected = AutofillView.Identity.PostalCode( - autofillId = expectedAutofillId, - isFocused = expectedIsFocused, - ) - every { viewNode.autofillHints } returns arrayOf(autofillHint) - - // Test - val actual = viewNode.toAutofillView() - - // Verify - assertEquals(expected, actual) - } - @Test fun `toAutofillView should return AutofillView Login Username when hint matches`() { // Setup