Skip to content

Commit

Permalink
Tracks Audit: Add Advanced episode artwork settings events (#3416)
Browse files Browse the repository at this point in the history
  • Loading branch information
mebarbosa authored Jan 8, 2025
1 parent 0865706 commit a52dcf4
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,10 @@ import androidx.compose.ui.res.dimensionResource
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.semantics.Role
import androidx.fragment.compose.content
import au.com.shiftyjelly.pocketcasts.analytics.AnalyticsEvent
import au.com.shiftyjelly.pocketcasts.analytics.AnalyticsTracker
import au.com.shiftyjelly.pocketcasts.compose.AppThemeWithBackground
import au.com.shiftyjelly.pocketcasts.compose.CallOnce
import au.com.shiftyjelly.pocketcasts.compose.bars.ThemedTopAppBar
import au.com.shiftyjelly.pocketcasts.compose.components.SettingRow
import au.com.shiftyjelly.pocketcasts.compose.components.SettingRowToggle
Expand All @@ -39,6 +42,9 @@ class EpisodeArtworkConfigurationFragment : BaseFragment() {
@Inject
lateinit var settings: Settings

@Inject
lateinit var analyticsTracker: AnalyticsTracker

override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
Expand All @@ -48,10 +54,17 @@ class EpisodeArtworkConfigurationFragment : BaseFragment() {
AppThemeWithBackground(theme.activeTheme) {
val artworkConfiguration by settings.artworkConfiguration.flow.collectAsState()

CallOnce {
analyticsTracker.track(AnalyticsEvent.SETTINGS_ADVANCED_EPISODE_ARTWORK_SHOWN)
}

EpisodeArtworkSettings(
artworkConfiguration = artworkConfiguration,
elements = sortedElements,
onUpdateConfiguration = { configuration ->
if (artworkConfiguration.useEpisodeArtwork != configuration.useEpisodeArtwork) {
analyticsTracker.track(AnalyticsEvent.SETTINGS_ADVANCED_EPISODE_ARTWORK_USE_EPISODE_ARTWORK_TOGGLED, mapOf("enabled" to configuration.useEpisodeArtwork))
}
settings.artworkConfiguration.set(configuration, updateModifiedAt = true)
},
onBackPressed = {
Expand Down Expand Up @@ -122,6 +135,9 @@ class EpisodeArtworkConfigurationFragment : BaseFragment() {
primaryText = stringResource(element.titleId),
toggle = SettingRowToggle.Checkbox(checked = configuration.useEpisodeArtwork(element), enabled = configuration.useEpisodeArtwork),
modifier = Modifier.toggleable(value = configuration.useEpisodeArtwork(element), role = Role.Checkbox) { newValue ->
if (configuration.useEpisodeArtwork) {
analyticsTracker.track(AnalyticsEvent.SETTINGS_ADVANCED_EPISODE_ARTWORK_CUSTOMIZATION_ELEMENT_TOGGLED, mapOf("enabled" to newValue, "element" to element.name.lowercase()))
}
onUpdateConfiguration(if (newValue) configuration.enable(element) else configuration.disable(element))
},
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -473,6 +473,11 @@ enum class AnalyticsEvent(val key: String) {
SETTINGS_APPEARANCE_USE_DARK_UP_NEXT_TOGGLED("settings_appearance_use_dark_up_next_toggled"),
SETTINGS_APPEARANCE_USE_DYNAMIC_COLORS_WIDGET_TOGGLED("settings_appearance_use_dynamic_colors_widget_toggled"),

/* Settings - Advanced Episode Artwork */
SETTINGS_ADVANCED_EPISODE_ARTWORK_SHOWN("settings_advanced_episode_artwork_shown"),
SETTINGS_ADVANCED_EPISODE_ARTWORK_USE_EPISODE_ARTWORK_TOGGLED("settings_advanced_episode_artwork_use_episode_artwork_toggled"),
SETTINGS_ADVANCED_EPISODE_ARTWORK_CUSTOMIZATION_ELEMENT_TOGGLED("settings_advanced_episode_artwork_customization_element_toggled"),

/* Settings - Auto add */
SETTINGS_AUTO_ADD_UP_NEXT_SHOWN("settings_auto_add_up_next_shown"),
SETTINGS_AUTO_ADD_UP_NEXT_AUTO_ADD_LIMIT_CHANGED("settings_auto_add_up_next_auto_add_limit_changed"),
Expand Down

0 comments on commit a52dcf4

Please sign in to comment.