summaryrefslogtreecommitdiffstats
path: root/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/translations/preferences/nevertranslatesite/NeverTranslateSitesPreferenceFragment.kt
diff options
context:
space:
mode:
Diffstat (limited to 'mobile/android/fenix/app/src/main/java/org/mozilla/fenix/translations/preferences/nevertranslatesite/NeverTranslateSitesPreferenceFragment.kt')
-rw-r--r--mobile/android/fenix/app/src/main/java/org/mozilla/fenix/translations/preferences/nevertranslatesite/NeverTranslateSitesPreferenceFragment.kt60
1 files changed, 60 insertions, 0 deletions
diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/translations/preferences/nevertranslatesite/NeverTranslateSitesPreferenceFragment.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/translations/preferences/nevertranslatesite/NeverTranslateSitesPreferenceFragment.kt
new file mode 100644
index 0000000000..429c89f18f
--- /dev/null
+++ b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/translations/preferences/nevertranslatesite/NeverTranslateSitesPreferenceFragment.kt
@@ -0,0 +1,60 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+package org.mozilla.fenix.translations.preferences.nevertranslatesite
+
+import android.os.Bundle
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import androidx.compose.ui.platform.ComposeView
+import androidx.fragment.app.Fragment
+import androidx.navigation.fragment.findNavController
+import mozilla.components.browser.state.store.BrowserStore
+import mozilla.components.lib.state.ext.observeAsComposableState
+import org.mozilla.fenix.R
+import org.mozilla.fenix.ext.requireComponents
+import org.mozilla.fenix.ext.showToolbar
+import org.mozilla.fenix.theme.FirefoxTheme
+
+/**
+ * A fragment displaying never translate site items list.
+ */
+class NeverTranslateSitesPreferenceFragment : Fragment() {
+
+ private val browserStore: BrowserStore by lazy { requireComponents.core.store }
+
+ override fun onResume() {
+ super.onResume()
+ showToolbar(getString(R.string.never_translate_site_toolbar_title_preference))
+ }
+
+ override fun onCreateView(
+ inflater: LayoutInflater,
+ container: ViewGroup?,
+ savedInstanceState: Bundle?,
+ ): View = ComposeView(requireContext()).apply {
+ setContent {
+ FirefoxTheme {
+ val neverTranslateSites = browserStore.observeAsComposableState { state ->
+ state.translationEngine.neverTranslateSites
+ }.value
+
+ neverTranslateSites?.let { neverTranslateSitesList ->
+ NeverTranslateSitesPreference(
+ neverTranslateSitesListPreferences = neverTranslateSitesList,
+ onItemClick = {
+ findNavController().navigate(
+ NeverTranslateSitesPreferenceFragmentDirections
+ .actionNeverTranslateSitePreferenceToNeverTranslateSiteDialogPreference(
+ neverTranslateSiteUrl = it,
+ ),
+ )
+ },
+ )
+ }
+ }
+ }
+ }
+}