diff --git a/app/src/androidTest/java/com/duckduckgo/app/browser/BrowserTabViewModelTest.kt b/app/src/androidTest/java/com/duckduckgo/app/browser/BrowserTabViewModelTest.kt index a564bcee53d9..a9aeb71a9caa 100644 --- a/app/src/androidTest/java/com/duckduckgo/app/browser/BrowserTabViewModelTest.kt +++ b/app/src/androidTest/java/com/duckduckgo/app/browser/BrowserTabViewModelTest.kt @@ -5834,6 +5834,5 @@ class BrowserTabViewModelTest { override suspend fun canSaveCredentialsFromWebView(url: String) = enabled override suspend fun canGeneratePasswordFromWebView(url: String) = enabled override suspend fun canAccessCredentialManagementScreen() = enabled - override suspend fun canCategorizeUnknownUsername() = enabled } } diff --git a/autofill/autofill-api/src/main/java/com/duckduckgo/autofill/api/AutofillCapabilityChecker.kt b/autofill/autofill-api/src/main/java/com/duckduckgo/autofill/api/AutofillCapabilityChecker.kt index 360acf5b437d..12109b062c24 100644 --- a/autofill/autofill-api/src/main/java/com/duckduckgo/autofill/api/AutofillCapabilityChecker.kt +++ b/autofill/autofill-api/src/main/java/com/duckduckgo/autofill/api/AutofillCapabilityChecker.kt @@ -50,9 +50,4 @@ interface AutofillCapabilityChecker { * Whether autofill is configured to be enabled. This is a configuration value, not a user preference. */ suspend fun isAutofillEnabledByConfiguration(url: String): Boolean - - /** - * Whether canCategorizeUnknownUsername feature is configured to be enabled. - */ - suspend fun canCategorizeUnknownUsername(): Boolean } diff --git a/autofill/autofill-impl/src/main/java/com/duckduckgo/autofill/impl/AutofillCapabilityCheckerImpl.kt b/autofill/autofill-impl/src/main/java/com/duckduckgo/autofill/impl/AutofillCapabilityCheckerImpl.kt index c809b5899716..6b067e1224c1 100644 --- a/autofill/autofill-impl/src/main/java/com/duckduckgo/autofill/impl/AutofillCapabilityCheckerImpl.kt +++ b/autofill/autofill-impl/src/main/java/com/duckduckgo/autofill/impl/AutofillCapabilityCheckerImpl.kt @@ -75,10 +75,6 @@ class AutofillCapabilityCheckerImpl @Inject constructor( return@withContext autofillFeature.canAccessCredentialManagement().isEnabled() } - override suspend fun canCategorizeUnknownUsername(): Boolean = withContext(dispatcherProvider.io()) { - return@withContext autofillFeature.canCategorizeUnknownUsername().isEnabled() - } - private suspend fun isInternalTester(): Boolean { return withContext(dispatcherProvider.io()) { internalTestUserChecker.isInternalTestUser diff --git a/autofill/autofill-impl/src/main/java/com/duckduckgo/autofill/impl/configuration/AutofillRuntimeConfigProvider.kt b/autofill/autofill-impl/src/main/java/com/duckduckgo/autofill/impl/configuration/AutofillRuntimeConfigProvider.kt index 3c5b8b177ab0..75fa4a587438 100644 --- a/autofill/autofill-impl/src/main/java/com/duckduckgo/autofill/impl/configuration/AutofillRuntimeConfigProvider.kt +++ b/autofill/autofill-impl/src/main/java/com/duckduckgo/autofill/impl/configuration/AutofillRuntimeConfigProvider.kt @@ -17,6 +17,7 @@ package com.duckduckgo.autofill.impl.configuration import com.duckduckgo.autofill.api.AutofillCapabilityChecker +import com.duckduckgo.autofill.api.AutofillFeature import com.duckduckgo.autofill.api.domain.app.LoginCredentials import com.duckduckgo.autofill.api.email.EmailManager import com.duckduckgo.autofill.impl.email.incontext.availability.EmailProtectionInContextAvailabilityRules @@ -42,6 +43,7 @@ class RealAutofillRuntimeConfigProvider @Inject constructor( private val autofillStore: InternalAutofillStore, private val runtimeConfigurationWriter: RuntimeConfigurationWriter, private val autofillCapabilityChecker: AutofillCapabilityChecker, + private val autofillFeature: AutofillFeature, private val shareableCredentials: ShareableCredentials, private val emailProtectionInContextAvailabilityRules: EmailProtectionInContextAvailabilityRules, private val neverSavedSiteRepository: NeverSavedSiteRepository, @@ -127,8 +129,8 @@ class RealAutofillRuntimeConfigProvider @Inject constructor( return !neverSavedSiteRepository.isInNeverSaveList(url) } - private suspend fun canCategorizeUnknownUsername(): Boolean { - return autofillCapabilityChecker.canCategorizeUnknownUsername() + private fun canCategorizeUnknownUsername(): Boolean { + return autofillFeature.canCategorizeUnknownUsername().isEnabled() } private suspend fun canShowInContextEmailProtectionSignup(url: String?): Boolean { diff --git a/autofill/autofill-impl/src/test/java/com/duckduckgo/autofill/impl/configuration/RealAutofillRuntimeConfigProviderTest.kt b/autofill/autofill-impl/src/test/java/com/duckduckgo/autofill/impl/configuration/RealAutofillRuntimeConfigProviderTest.kt index b2b648f3d9b5..ded5064b5a3d 100644 --- a/autofill/autofill-impl/src/test/java/com/duckduckgo/autofill/impl/configuration/RealAutofillRuntimeConfigProviderTest.kt +++ b/autofill/autofill-impl/src/test/java/com/duckduckgo/autofill/impl/configuration/RealAutofillRuntimeConfigProviderTest.kt @@ -24,6 +24,7 @@ import com.duckduckgo.autofill.impl.jsbridge.response.AvailableInputTypeCredenti import com.duckduckgo.autofill.impl.sharedcreds.ShareableCredentials import com.duckduckgo.autofill.impl.store.InternalAutofillStore import com.duckduckgo.autofill.impl.store.NeverSavedSiteRepository +import com.duckduckgo.feature.toggles.api.toggle.AutofillTestFeature import kotlinx.coroutines.test.runTest import org.junit.Before import org.junit.Test @@ -40,6 +41,7 @@ class RealAutofillRuntimeConfigProviderTest { private val emailManager: EmailManager = mock() private val autofillStore: InternalAutofillStore = mock() + private val autofillFeature: AutofillTestFeature = AutofillTestFeature() private val runtimeConfigurationWriter: RuntimeConfigurationWriter = mock() private val shareableCredentials: ShareableCredentials = mock() private val autofillCapabilityChecker: AutofillCapabilityChecker = mock() @@ -54,6 +56,7 @@ class RealAutofillRuntimeConfigProviderTest { autofillStore, runtimeConfigurationWriter, autofillCapabilityChecker = autofillCapabilityChecker, + autofillFeature = autofillFeature, shareableCredentials = shareableCredentials, emailProtectionInContextAvailabilityRules = emailProtectionInContextAvailabilityRules, neverSavedSiteRepository = neverSavedSiteRepository, @@ -64,6 +67,7 @@ class RealAutofillRuntimeConfigProviderTest { whenever(neverSavedSiteRepository.isInNeverSaveList(any())).thenReturn(false) } + autofillFeature.canCategorizeUnknownUsername = true whenever(runtimeConfigurationWriter.generateContentScope()).thenReturn("") whenever(runtimeConfigurationWriter.generateResponseGetAvailableInputTypes(any(), any())).thenReturn("") whenever(runtimeConfigurationWriter.generateUserUnprotectedDomains()).thenReturn("") @@ -375,7 +379,6 @@ class RealAutofillRuntimeConfigProviderTest { whenever(autofillCapabilityChecker.canSaveCredentialsFromWebView(any())).thenReturn(enabled) whenever(autofillCapabilityChecker.canGeneratePasswordFromWebView(any())).thenReturn(enabled) whenever(emailProtectionInContextAvailabilityRules.permittedToShow(any())).thenReturn(enabled) - whenever(autofillCapabilityChecker.canCategorizeUnknownUsername()).thenReturn(enabled) } private fun verifyAutofillCredentialsReturnedAs(expectedValue: Boolean) {