diff --git a/mobile/android/android-components/components/feature/fxsuggest/src/main/java/mozilla/components/feature/fxsuggest/FxSuggestIngestionWorker.kt b/mobile/android/android-components/components/feature/fxsuggest/src/main/java/mozilla/components/feature/fxsuggest/FxSuggestIngestionWorker.kt index b30f8b0f4b33..9784d9e79eb5 100644 --- a/mobile/android/android-components/components/feature/fxsuggest/src/main/java/mozilla/components/feature/fxsuggest/FxSuggestIngestionWorker.kt +++ b/mobile/android/android-components/components/feature/fxsuggest/src/main/java/mozilla/components/feature/fxsuggest/FxSuggestIngestionWorker.kt @@ -22,16 +22,10 @@ internal class FxSuggestIngestionWorker( private val logger = Logger("FxSuggestIngestionWorker") override suspend fun doWork(): Result { - logger.info("Ingesting new suggestions") - val storage = GlobalFxSuggestDependencyProvider.requireStorage() - val success = storage.ingest() - return if (success) { - logger.info("Successfully ingested new suggestions") - Result.success() - } else { - logger.error("Failed to ingest new suggestions") - Result.retry() - } + // Disable periodic ingestion until we figure out + // https://bugzilla.mozilla.org/show_bug.cgi?id=1900837 + logger.info("Skipping ingesting new suggestions") + return Result.success() } internal companion object { diff --git a/mobile/android/android-components/components/feature/fxsuggest/src/test/java/mozilla/components/feature/fxsuggest/FxSuggestIngestionWorkerTest.kt b/mobile/android/android-components/components/feature/fxsuggest/src/test/java/mozilla/components/feature/fxsuggest/FxSuggestIngestionWorkerTest.kt index 84df98f78e17..54c1e1dd678c 100644 --- a/mobile/android/android-components/components/feature/fxsuggest/src/test/java/mozilla/components/feature/fxsuggest/FxSuggestIngestionWorkerTest.kt +++ b/mobile/android/android-components/components/feature/fxsuggest/src/test/java/mozilla/components/feature/fxsuggest/FxSuggestIngestionWorkerTest.kt @@ -18,6 +18,7 @@ import org.junit.Assert.assertEquals import org.junit.Before import org.junit.Test import org.junit.runner.RunWith +import org.mockito.Mockito.never import org.mockito.Mockito.verify @RunWith(AndroidJUnit4::class) @@ -43,19 +44,9 @@ class FxSuggestIngestionWorkerTest { val result = worker.startWork().await() - verify(storage).ingest(any()) + // Ingestion is disabled until we figure out + // https://bugzilla.mozilla.org/show_bug.cgi?id=1900837 + verify(storage, never()).ingest(any()) assertEquals(ListenableWorker.Result.success(), result) } - - @Test - fun workShouldRetry() = runTest { - whenever(storage.ingest(any())).thenReturn(false) - - val worker = TestListenableWorkerBuilder(testContext).build() - - val result = worker.startWork().await() - - verify(storage).ingest(any()) - assertEquals(ListenableWorker.Result.retry(), result) - } } diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/FenixApplication.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/FenixApplication.kt index 05451d7a9c80..5b4706fc4167 100644 --- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/FenixApplication.kt +++ b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/FenixApplication.kt @@ -380,11 +380,15 @@ open class FenixApplication : LocaleAwareApplication(), Provider { // new search suggestions. The worker requires us to have called // `GlobalFxSuggestDependencyProvider.initialize`, which we did before // scheduling these tasks. When disabled we stop the periodic work. - if (settings().enableFxSuggest) { - components.fxSuggest.ingestionScheduler.startPeriodicIngestion() - } else { - components.fxSuggest.ingestionScheduler.stopPeriodicIngestion() - } + + // Disable periodic ingestion until we figure out + // https://bugzilla.mozilla.org/show_bug.cgi?id=1900837 + // + // Note: we will still ingest once for a fresh DB because of + // the `runStartupIngestion()` call below. This should be okay, the + // performance issues only happen when reingesting after a successful + // initial ingestion. + components.fxSuggest.ingestionScheduler.stopPeriodicIngestion() } components.core.fileUploadsDirCleaner.cleanUploadsDirectory() } diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/SecretSettingsFragment.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/SecretSettingsFragment.kt index b16a82ca3f39..2d75c0306ad2 100644 --- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/SecretSettingsFragment.kt +++ b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/SecretSettingsFragment.kt @@ -5,7 +5,6 @@ package org.mozilla.fenix.settings import android.os.Bundle -import androidx.core.content.edit import androidx.lifecycle.lifecycleScope import androidx.navigation.fragment.findNavController import androidx.preference.EditTextPreference @@ -16,7 +15,6 @@ import kotlinx.coroutines.flow.first import kotlinx.coroutines.launch import org.mozilla.fenix.BuildConfig import org.mozilla.fenix.Config -import org.mozilla.fenix.FeatureFlags import org.mozilla.fenix.R import org.mozilla.fenix.debugsettings.data.DefaultDebugSettingsRepository import org.mozilla.fenix.ext.components @@ -82,27 +80,6 @@ class SecretSettingsFragment : PreferenceFragmentCompat() { onPreferenceChangeListener = SharedPreferenceUpdater() } - requirePreference(R.string.pref_key_enable_fxsuggest).apply { - isVisible = FeatureFlags.fxSuggest - isChecked = context.settings().enableFxSuggest - onPreferenceChangeListener = object : Preference.OnPreferenceChangeListener { - override fun onPreferenceChange(preference: Preference, newValue: Any?): Boolean { - val newBooleanValue = newValue as? Boolean ?: return false - val ingestionScheduler = - requireContext().components.fxSuggest.ingestionScheduler - if (newBooleanValue) { - ingestionScheduler.startPeriodicIngestion() - } else { - ingestionScheduler.stopPeriodicIngestion() - } - requireContext().settings().preferences.edit { - putBoolean(preference.key, newBooleanValue) - } - return true - } - } - } - requirePreference(R.string.pref_key_should_enable_felt_privacy).apply { isVisible = true isChecked = context.settings().feltPrivateBrowsingEnabled diff --git a/mobile/android/fenix/app/src/main/res/xml/secret_settings_preferences.xml b/mobile/android/fenix/app/src/main/res/xml/secret_settings_preferences.xml index f9b019521d1e..376f5bd35afb 100644 --- a/mobile/android/fenix/app/src/main/res/xml/secret_settings_preferences.xml +++ b/mobile/android/fenix/app/src/main/res/xml/secret_settings_preferences.xml @@ -35,11 +35,6 @@ android:key="@string/pref_key_toolbar_use_redesign_incomplete" android:title="@string/preferences_debug_settings_toolbar_redesign" app:iconSpaceReserved="false" /> -