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