[RSM] Smart Bookmarks list UI#5284
Open
sztomek wants to merge 3 commits into
Open
Conversation
Collaborator
Generated by 🚫 Danger |
Contributor
There was a problem hiding this comment.
Pull request overview
This PR completes the Android-side wiring for Smart Bookmarks by triggering an enrichment request after creating a bookmark (when the feature flag is enabled) and surfacing AI-generated titles/summaries in the bookmarks list UI.
Changes:
- Trigger bookmark enrichment after new bookmark creation when
Feature.SMART_BOOKMARKSis enabled. - Add
Bookmark.displayTitleto choose between user title and AI title for display. - Update the bookmark row UI to show
displayTitleand an optional AI summary line.
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 3 comments.
| File | Description |
|---|---|
| modules/services/repositories/src/main/java/au/com/shiftyjelly/pocketcasts/repositories/bookmark/BookmarkHelper.kt | Triggers enrichment when adding a new bookmark via the helper (e.g., headphones/notification path). |
| modules/services/model/src/main/java/au/com/shiftyjelly/pocketcasts/models/entity/Bookmark.kt | Introduces displayTitle computed property to select user vs AI title. |
| modules/services/compose/src/main/java/au/com/shiftyjelly/pocketcasts/compose/bookmark/BookmarkRow.kt | Uses displayTitle and renders aiSummary as a secondary line when present. |
| modules/features/player/src/main/java/au/com/shiftyjelly/pocketcasts/player/view/bookmark/BookmarkViewModel.kt | Triggers enrichment after saving a newly created bookmark from the player bookmark flow. |
MiSikora
approved these changes
May 8, 2026
8958989 to
55703ec
Compare
6 tasks
55703ec to
68a455d
Compare
3f769c9 to
9e9da4a
Compare
68a455d to
b906b00
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
This is the last PR on the android-side of changes, where we hook up the enrichment flow and surface the results in the UI, on the bookmarks list. When a new bookmark is created, the app now fires off a background enrichment call if the Smart Bookmarks feature flag is enabled. The enrichment runs after the bookmark is saved, so the user sees no delay.
On the display side, the bookmark row now shows the AI-generated title when the user hasn't manually edited it, with a
displayTitleproperty that picks the right one based on timestamp priority. If an AI summary is available, it appears as a secondary line beneath the title.An upcoming PR will let us open the enhanced bookmarks to see its details.
Testing Instructions
Since the backend changes are not yet deployed, the best way to test the new ui in action is to manually inject data into the database via Android Studio's Database inspector tool.
Select
pocketcastsdatabase then run these queries:1-
SELECT uuid, podcast_id FROM podcast_episodes ORDER BY published_date DESC LIMIT 1-- remember these Ids!2-
don't forget to overwrite the placeholders <PODCAST_UUID> and <EPISODE_UUID> with actual values from the previous query!
Then just navigate to the bookmarks list to see the results
Screenshots or Screencast
Checklist
./gradlew spotlessApplyto automatically apply formatting/linting)modules/services/localization/src/main/res/values/strings.xml