|
|
|
@ -16,8 +16,9 @@ import androidx.compose.ui.platform.ComposeView
|
|
|
|
|
import androidx.compose.ui.platform.ViewCompositionStrategy
|
|
|
|
|
import androidx.fragment.app.Fragment
|
|
|
|
|
import androidx.navigation.fragment.findNavController
|
|
|
|
|
import mozilla.components.service.glean.private.NoExtras
|
|
|
|
|
import org.mozilla.fenix.GleanMetrics.Wallpapers
|
|
|
|
|
import org.mozilla.fenix.R
|
|
|
|
|
import org.mozilla.fenix.components.metrics.Event
|
|
|
|
|
import org.mozilla.fenix.ext.requireComponents
|
|
|
|
|
import org.mozilla.fenix.ext.showToolbar
|
|
|
|
|
import org.mozilla.fenix.theme.FirefoxTheme
|
|
|
|
@ -33,16 +34,12 @@ class WallpaperSettingsFragment : Fragment() {
|
|
|
|
|
requireComponents.settings
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private val metrics by lazy {
|
|
|
|
|
requireComponents.analytics.metrics
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
override fun onCreateView(
|
|
|
|
|
inflater: LayoutInflater,
|
|
|
|
|
container: ViewGroup?,
|
|
|
|
|
savedInstanceState: Bundle?
|
|
|
|
|
): View? {
|
|
|
|
|
metrics.track(Event.WallpaperSettingsOpened)
|
|
|
|
|
Wallpapers.wallpaperSettingsOpened.record(NoExtras())
|
|
|
|
|
return ComposeView(requireContext()).apply {
|
|
|
|
|
setViewCompositionStrategy(ViewCompositionStrategy.DisposeOnViewTreeLifecycleDestroyed)
|
|
|
|
|
setContent {
|
|
|
|
@ -59,14 +56,23 @@ class WallpaperSettingsFragment : Fragment() {
|
|
|
|
|
onSelectWallpaper = { selectedWallpaper: Wallpaper ->
|
|
|
|
|
currentWallpaper = selectedWallpaper
|
|
|
|
|
wallpaperManager.currentWallpaper = selectedWallpaper
|
|
|
|
|
metrics.track(Event.WallpaperSelected(selectedWallpaper))
|
|
|
|
|
Wallpapers.wallpaperSelected.record(
|
|
|
|
|
Wallpapers.WallpaperSelectedExtra(
|
|
|
|
|
name = selectedWallpaper.name,
|
|
|
|
|
themeCollection = selectedWallpaper::class.simpleName
|
|
|
|
|
)
|
|
|
|
|
)
|
|
|
|
|
},
|
|
|
|
|
onViewWallpaper = { findNavController().navigate(R.id.homeFragment) },
|
|
|
|
|
tapLogoSwitchChecked = wallpapersSwitchedByLogo,
|
|
|
|
|
onTapLogoSwitchCheckedChange = {
|
|
|
|
|
settings.wallpapersSwitchedByLogoTap = it
|
|
|
|
|
wallpapersSwitchedByLogo = it
|
|
|
|
|
metrics.track(Event.ChangeWallpaperWithLogoToggled(it))
|
|
|
|
|
Wallpapers.changeWallpaperLogoToggled.record(
|
|
|
|
|
Wallpapers.ChangeWallpaperLogoToggledExtra(
|
|
|
|
|
checked = it
|
|
|
|
|
)
|
|
|
|
|
)
|
|
|
|
|
}
|
|
|
|
|
)
|
|
|
|
|
}
|
|
|
|
|