From fad5c4680b9f790a32c7ed42dc92c29d796c8d6f Mon Sep 17 00:00:00 2001 From: Eduarda Barbosa <42220351+mebarbosa@users.noreply.github.com> Date: Fri, 31 Jan 2025 19:12:18 -0300 Subject: [PATCH] [Podcast feed update] Add tracks for refresh result (#3527) --- .../pocketcasts/podcasts/viewmodel/PodcastViewModel.kt | 9 ++++++++- .../shiftyjelly/pocketcasts/analytics/AnalyticsEvent.kt | 2 ++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/modules/features/podcasts/src/main/java/au/com/shiftyjelly/pocketcasts/podcasts/viewmodel/PodcastViewModel.kt b/modules/features/podcasts/src/main/java/au/com/shiftyjelly/pocketcasts/podcasts/viewmodel/PodcastViewModel.kt index 228abfa4709..8313a0deaf9 100644 --- a/modules/features/podcasts/src/main/java/au/com/shiftyjelly/pocketcasts/podcasts/viewmodel/PodcastViewModel.kt +++ b/modules/features/podcasts/src/main/java/au/com/shiftyjelly/pocketcasts/podcasts/viewmodel/PodcastViewModel.kt @@ -582,7 +582,14 @@ class PodcastViewModel _refreshState.emit(RefreshState.Refreshing(refreshType)) val newEpisodeFound = podcastManager.refreshPodcastFeed(podcast = podcast) - _refreshState.emit(if (newEpisodeFound) RefreshState.NewEpisodeFound else RefreshState.NoEpisodesFound) + + if (newEpisodeFound) { + analyticsTracker.track(AnalyticsEvent.PODCAST_SCREEN_REFRESH_NEW_EPISODE_FOUND, mapOf("podcast_uuid" to podcast.uuid, "action" to refreshType.analyticsValue)) + _refreshState.emit(RefreshState.NewEpisodeFound) + } else { + analyticsTracker.track(AnalyticsEvent.PODCAST_SCREEN_REFRESH_NO_EPISODES_FOUND, mapOf("podcast_uuid" to podcast.uuid, "action" to refreshType.analyticsValue)) + _refreshState.emit(RefreshState.NoEpisodesFound) + } } private fun trackEpisodeBulkEvent(event: AnalyticsEvent, count: Int) { diff --git a/modules/services/analytics/src/main/java/au/com/shiftyjelly/pocketcasts/analytics/AnalyticsEvent.kt b/modules/services/analytics/src/main/java/au/com/shiftyjelly/pocketcasts/analytics/AnalyticsEvent.kt index 4835598d7c4..c5ddf9ff1c5 100644 --- a/modules/services/analytics/src/main/java/au/com/shiftyjelly/pocketcasts/analytics/AnalyticsEvent.kt +++ b/modules/services/analytics/src/main/java/au/com/shiftyjelly/pocketcasts/analytics/AnalyticsEvent.kt @@ -230,6 +230,8 @@ enum class AnalyticsEvent(val key: String) { PODCASTS_SCREEN_TAB_TAPPED("podcasts_screen_tab_tapped"), PODCAST_SCREEN_REPORT_TAPPED("podcast_screen_report_tapped"), PODCAST_SCREEN_REFRESH_EPISODE_LIST("podcast_screen_refresh_episode_list"), + PODCAST_SCREEN_REFRESH_NEW_EPISODE_FOUND("podcast_screen_refresh_new_episode_found"), + PODCAST_SCREEN_REFRESH_NO_EPISODES_FOUND("podcast_screen_refresh_no_episodes_found"), /* Podcast Settings */ PODCAST_SETTINGS_FEED_ERROR_TAPPED("podcast_settings_feed_error_tapped"),