@ -35,11 +35,13 @@ import mozilla.components.concept.engine.translate.TranslationError
import mozilla.components.lib.state.ext.observeAsComposableState
import mozilla.components.support.base.feature.ViewBoundFeatureWrapper
import org.mozilla.fenix.BrowserDirection
import org.mozilla.fenix.GleanMetrics.Events
import org.mozilla.fenix.HomeActivity
import org.mozilla.fenix.R
import org.mozilla.fenix.ext.components
import org.mozilla.fenix.ext.requireComponents
import org.mozilla.fenix.ext.settings
import org.mozilla.fenix.nimbus.FxNimbus
import org.mozilla.fenix.settings.SupportUtils
import org.mozilla.fenix.theme.FirefoxTheme
import org.mozilla.fenix.translations.preferences.downloadlanguages.DownloadLanguageFileDialog
@ -142,10 +144,13 @@ class TranslationsDialogFragment : BottomSheetDialogFragment() {
}
} ,
) {
FxNimbus . features . translations . recordExposure ( )
TranslationsDialogContent (
learnMoreUrl = learnMoreUrl ,
showPageSettings = FxNimbus . features . translations . value ( ) . pageSettingsEnabled ,
translationsDialogState = translationsDialogState ,
) {
Events . translationsAction . record ( Events . TranslationsActionExtra ( " page_settings " ) )
translationsVisibility = false
}
}
@ -168,6 +173,7 @@ class TranslationsDialogFragment : BottomSheetDialogFragment() {
) {
TranslationsOptionsDialogContent (
learnMoreUrl = learnMoreUrl ,
showGlobalSettings = FxNimbus . features . translations . value ( ) . globalSettingsEnabled ,
initialFrom = translationsDialogState ?. initialFrom ,
) {
translationsVisibility = true
@ -217,6 +223,7 @@ class TranslationsDialogFragment : BottomSheetDialogFragment() {
@Composable
private fun TranslationsDialogContent (
learnMoreUrl : String ,
showPageSettings : Boolean ,
translationsDialogState : TranslationsDialogState ? = null ,
onSettingClicked : ( ) -> Unit ,
) {
@ -234,6 +241,7 @@ class TranslationsDialogFragment : BottomSheetDialogFragment() {
TranslationsDialog (
translationsDialogState = translationsDialogState ,
learnMoreUrl = learnMoreUrl ,
showPageSettings = showPageSettings ,
showFirstTime = requireContext ( ) . settings ( ) . showFirstTimeTranslation ,
onSettingClicked = onSettingClicked ,
onLearnMoreClicked = { openBrowserAndLoad ( learnMoreUrl ) } ,
@ -316,6 +324,7 @@ class TranslationsDialogFragment : BottomSheetDialogFragment() {
@Composable
private fun TranslationsOptionsDialogContent (
learnMoreUrl : String ,
showGlobalSettings : Boolean ,
initialFrom : Language ? = null ,
onBackClicked : ( ) -> Unit ,
) {
@ -327,6 +336,7 @@ class TranslationsDialogFragment : BottomSheetDialogFragment() {
TranslationsOptionsDialog (
context = requireContext ( ) ,
translationPageSettings = pageSettingsState ,
showGlobalSettings = showGlobalSettings ,
initialFrom = initialFrom ,
onStateChange = { type , checked ->
translationsDialogStore . dispatch (
@ -338,6 +348,7 @@ class TranslationsDialogFragment : BottomSheetDialogFragment() {
} ,
onBackClicked = onBackClicked ,
onTranslationSettingsClicked = {
Events . translationsAction . record ( Events . TranslationsActionExtra ( " global_settings " ) )
findNavController ( ) . navigate (
TranslationsDialogFragmentDirections
. actionTranslationsDialogFragmentToTranslationSettingsFragment (