-
Notifications
You must be signed in to change notification settings - Fork 224
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Tracks for bookmarks #1282
Tracks for bookmarks #1282
Conversation
9401a03
to
4f9ed59
Compare
81d855c
to
a4f2206
Compare
For some reason that isn't clear to me, adding these verifications to a test would cause subsequent tests in the same test run to fail during the teardown method (it would say that the lateinit appDatabase field was not initialized... during *teardown*?!?).
0536709
to
73eafcb
Compare
dba85f0
to
0dd040d
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Awesome work, @mchowning! Thanks so much for this PR. 🙏
I only pushed two commits:
3ffe927 - Updated "Add bookmark" shelf event tracking. Earlier both shelf and overflow menu events were fired when "Add bookmark" was tapped from the overflow menu and none was fired when it was tapped from the shelf.
007f61c - Tracked bookmarks option tap from the user file details bottom sheet.
I'm approving this PR but not merging it so that you can go through my changes. Feel free to merge if you find them ok.
) : MultiSelectHelper<Bookmark>() { | ||
override val maxToolbarIcons = 2 | ||
|
||
private val _showEditBookmarkPage = MutableSharedFlow<Boolean>() | ||
val showEditBookmarkPage = _showEditBookmarkPage.asSharedFlow() | ||
|
||
override var source by bookmarkManager::sourceView |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🥇 for using Kotlin delegated-property here. It is great to see such lesser-known language benefits being used like this.
Thanks for the updates @ashiagr ! |
Description
Adding tracks for bookmarks (google sheet noting the events related to bookmarks).
For reviewing the code, you may want to go through this commit-by-commit.
Testing Instructions
In the following tests, any reference to a source property for the appropriate screen should be one of [podcast_screen, episode_details, player, files]
Verify the following on each screen with bookmarks (full screen player, podcast details, episode details, and files):
player_tab_selected
event with a "tab" property of "bookmarks"bookmarks_upgrade_button_tapped
event with the "source" property of for the relevant screen. In addition, theplus promotion_shown
event is sent with a "source" of "bookmarks.bookmarks_empty_go_to_headphone_settings
event with the "source" property for the screen.bookmark_created
event with the appropriate "source" property for the screenbookmark_update_title
event with the "source" property for the screenpodcasts_screen_tab_tapped
with a "value" property of "bookmarks"episode_detail_tab_changed
with a "value" property of "bookmarks"8.Tapping on the "add bookmark" option in the full screen player sends the event
player_shelf_action_tapped
with the "from" property of "shelf" and the "action" property of "add_bookmark"settings_headphone_controls_shown
eventsettings_headphone_controls_next_changed
/settings_headphone_controls_previous_changed
events (as appropriate) with a "value" property of ["add_bookmark", "next_chapter", "previous_chapter", "skip_back, skip_forward"] as appropriatesettings_headphone_controls_bookmark_confirmation_sound
event with the "value" property set to whether the setting is enabled.bookmark_play_tapped
with the "source" property for the screenbookmarks_sort_by_changed
event with the "sort_order" property set to ["date_added_newest_to_oldest", "date_added_oldest_to_newest", "episode", "timestamp"] and the "source" property for the screenbookmark_deleted
event with the "source" property for the screenChecklist
./gradlew spotlessApply
to automatically apply formatting/linting)modules/services/localization/src/main/res/values/strings.xml