Skip to content

Migrate misc events to Event Horizon#5108

Open
MiSikora wants to merge 3 commits intomehow/task/event-horizon-searchfrom
mehow/task/event-horizon-misc
Open

Migrate misc events to Event Horizon#5108
MiSikora wants to merge 3 commits intomehow/task/event-horizon-searchfrom
mehow/task/event-horizon-misc

Conversation

@MiSikora
Copy link
Contributor

@MiSikora MiSikora commented Mar 11, 2026

Description

This migrates miscellaneous events to Event Horizon.

Relates to PCDROID-419

Testing Instructions

I would mostly focus on the code review and smoke test some of these events as the migration process is rather a mechanical one.

  • chromecast_view_shown
  • chromecast_started_casting
  • chromecast_stopped_casting
  • rating_stars_tapped
  • rating_screen_shown
  • rating_screen_dismissed
  • not_allowed_to_rate_screen_shown
  • not_allowed_to_rate_screen_dismissed
  • rating_screen_submit_tapped
  • whatsnew_shown
  • whatsnew_dismissed
  • whatsnew_confirm_button_tapped
  • app_store_review_requested
  • rate_us_tapped
  • widget_installed
  • widget_uninstalled
  • pocket_casts_champion_dialog_shown
  • pocket_casts_champion_dialog_rate_button_tapped
  • user_satisfaction_survey_shown
  • user_satisfaction_survey_not_shown
  • user_satisfaction_survey_dismissed
  • user_satisfaction_survey_yes_response
  • user_satisfaction_survey_no_response

Screenshots or Screencast

N/A

Checklist

  • If this is a user-facing change, I have added an entry in CHANGELOG.md
  • Ensure the linter passes (./gradlew spotlessApply to automatically apply formatting/linting)
  • I have considered whether it makes sense to add tests for my changes
  • All strings that need to be localized are in modules/services/localization/src/main/res/values/strings.xml
  • Any jetpack compose components I added or changed are covered by compose previews
  • I have updated (or requested that someone edit) the spreadsheet to reflect any new or changed analytics.

I have tested any UI changes...

  • with different themes
  • with a landscape orientation
  • with the device set to have a large display and font size
  • for accessibility with TalkBack

@MiSikora MiSikora added this to the 8.8 milestone Mar 11, 2026
@MiSikora MiSikora requested a review from a team as a code owner March 11, 2026 11:23
@MiSikora MiSikora requested review from sztomek and removed request for a team March 11, 2026 11:23
@MiSikora MiSikora added the [Area] Analytics Analytics related issues label Mar 11, 2026
Copilot AI review requested due to automatic review settings March 11, 2026 11:23
@MiSikora MiSikora added do not merge [Type] Enhancement Improve an existing feature. labels Mar 11, 2026
@dangermattic
Copy link
Collaborator

1 Error
🚫 This PR is tagged with do not merge label(s).
1 Warning
⚠️ View files have been modified, but no screenshot or video is included in the pull request. Consider adding some for clarity.

Generated by 🚫 Danger

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR migrates a set of “misc” analytics events (Chromecast, ratings, widgets, What’s New, and app review flows) from the legacy AnalyticsTracker/AnalyticsEvent pipeline to EventHorizon event objects.

Changes:

  • Replaced AnalyticsTracker.track(...) calls with eventHorizon.track(...) across multiple features.
  • Updated widget analytics to use WidgetType and migrated widget install/uninstall events to EventHorizon.
  • Updated app review and ratings flows to emit EventHorizon events, and adjusted supporting model/test code accordingly.

Reviewed changes

Copilot reviewed 26 out of 26 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
modules/services/views/.../InAppReviewHelper.kt Switch in-app review requested tracking to EventHorizon.
app/src/androidTest/.../InAppReviewHelperTest.kt Update test wiring to use EventHorizon(TestEventSink()).
modules/services/repositories/.../chromecast/ChromeCastAnalytics.kt Migrate Chromecast “view shown” event to EventHorizon with structured payload.
modules/services/repositories/.../chromecast/CastManagerImpl.kt Migrate Chromecast started/stopped casting events to EventHorizon.
modules/services/repositories/.../appreview/AppReviewManagerImpl.kt Migrate “survey not shown” tracking to EventHorizon with policy field.
modules/services/repositories/.../appreview/AppReviewManagerTest.kt Update unit test to inject EventHorizon(TestEventSink()).
modules/services/model/.../MembershipFeature.kt Add Membership.eventHorizonValue mapping to EventHorizon UserType.
modules/features/widgets/.../di/WidgetEntryPoint.kt Replace AnalyticsTracker entry point with EventHorizon.
modules/features/widgets/.../PlayerWidgetReceiver.kt Track widget install/uninstall via WidgetInstalledEvent/WidgetUninstalledEvent.
modules/features/widgets/.../SmallPlayerWidgetReceiver.kt Use WidgetType.PlayerSmall.
modules/features/widgets/.../MediumPlayerWidgetReceiver.kt Use WidgetType.PlayerMedium.
modules/features/widgets/.../LargePlayerWidgetReceiver.kt Use WidgetType.PlayerLarge.
modules/features/widgets/.../core/ui/widget/PodcastWidget.kt Use legacy widget mapping WidgetType.PlayerOld.
modules/features/settings/.../whatsnew/WhatsNewFragment.kt Migrate Whats New shown/dismissed/confirm events to EventHorizon (includes version).
modules/features/settings/.../stats/StatsViewModel.kt Update in-app review dialog launch call for new helper signature.
modules/features/settings/.../about/AboutFragment.kt Migrate Rate Us tapped tracking to EventHorizon with source.
modules/features/profile/.../PocketCastsChampionBottomSheetDialog.kt Migrate champion dialog shown/rate button tapped events to EventHorizon.
modules/features/podcasts/.../PodcastRatingsViewModel.kt Migrate rating stars tapped event to EventHorizon and simplify click plumbing.
modules/features/podcasts/.../GiveRatingViewModel.kt Migrate rating screen shown/dismissed/submit/not-allowed events to EventHorizon; refactor Stars.
modules/features/podcasts/.../view/podcast/PodcastHeader.kt Remove RatingTappedSource from rating click callbacks.
modules/features/podcasts/.../PodcastFragment.kt Update rating click invocation to match new callback signature.
modules/features/podcasts/.../PodcastAdapter.kt Update adapter callbacks for simplified rating click signature.
modules/features/podcasts/.../StarRatingView.kt Update rating click signature to no longer pass a source.
modules/features/podcasts/.../GiveRatingScreen.kt Use Stars.value instead of starsToRating(...) for initial rate.
modules/features/podcasts/.../GiveRatingFragment.kt Update dismiss tracking to call new ViewModel helpers.
modules/features/appreview/.../AppReviewViewModel.kt Migrate app review requested + survey events to EventHorizon including trigger/userType.

@MiSikora MiSikora force-pushed the mehow/task/event-horizon-misc branch from 83ede04 to adff8b4 Compare March 11, 2026 11:28
Copilot AI review requested due to automatic review settings March 11, 2026 11:36
@MiSikora MiSikora force-pushed the mehow/task/event-horizon-misc branch from 6e31ca3 to 1e4e92c Compare March 11, 2026 11:37
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 26 out of 26 changed files in this pull request and generated 4 comments.

Copilot AI review requested due to automatic review settings March 11, 2026 12:11
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 26 out of 26 changed files in this pull request and generated 2 comments.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

[Area] Analytics Analytics related issues do not merge [Type] Enhancement Improve an existing feature.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants