Skip to content

Add list page for subscribed blog podcasts#5300

Merged
geekygecko merged 5 commits into
mainfrom
philip/blogs-podcast-page
May 13, 2026
Merged

Add list page for subscribed blog podcasts#5300
geekygecko merged 5 commits into
mainfrom
philip/blogs-podcast-page

Conversation

@geekygecko
Copy link
Copy Markdown
Member

@geekygecko geekygecko commented May 13, 2026

Description

This changes adds the list of blog podcasts in the blogs section.

If there no subscribed blogs it will show the existing empty state.

Fixes https://linear.app/a8c/issue/POC-593/android-add-a-blog-list-page

Testing Instructions

  1. Sign in with a Plus user
  2. Open the Profile tab -> Blogs
  3. Add a blog such as https://android-developers.googleblog.com/
  4. ✅ Verify the Blogs section now shows the podcasts
  5. Tap a podcast
  6. ✅ Verify the podcast page opens

Screenshots

Light Dark
Screenshot_20260513_211855 Screenshot_20260513_211909

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

Copilot AI review requested due to automatic review settings May 13, 2026 11:42
@geekygecko geekygecko added the [Type] Feature Adding a new feature. label May 13, 2026
@geekygecko geekygecko added this to the 8.13 milestone May 13, 2026
Copy link
Copy Markdown
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

Adds a new Blogs “subscribed blogs” list experience in Profile → Blogs by introducing a Room-backed query for subscribed web-feed podcasts and new Compose UI + ViewModel to display them, while preserving the existing empty state when no blogs are subscribed.

Changes:

  • Added PodcastDao.observeSubscribedWebFeedPodcasts() (subscribed + web_feed, ordered by latest episode date with nulls last) and exposed it via PodcastManager.
  • Introduced BlogsViewModel and a new Compose BlogsListPage to render subscribed blog podcasts and a FAB to start the Add-a-blog (or upsell) flow.
  • Updated BlogsFragment navigation to start on the list/empty-state destination and to pop back to the list after a blog is added before opening the podcast screen.

Reviewed changes

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

Show a summary per file
File Description
modules/services/repositories/src/main/java/au/com/shiftyjelly/pocketcasts/repositories/podcast/PodcastManagerImpl.kt Exposes the new DAO flow from the repository layer.
modules/services/repositories/src/main/java/au/com/shiftyjelly/pocketcasts/repositories/podcast/PodcastManager.kt Adds the new public API for observing subscribed web-feed podcasts.
modules/services/model/src/main/java/au/com/shiftyjelly/pocketcasts/models/db/dao/PodcastDao.kt Adds a new Room query/Flow for subscribed web-feed podcasts with ordering.
modules/features/profile/src/main/java/au/com/shiftyjelly/pocketcasts/profile/blogs/EmptyBlogsPage.kt Adds showContent flag to avoid flashing the empty illustration before first DB emission.
modules/features/profile/src/main/java/au/com/shiftyjelly/pocketcasts/profile/blogs/BlogsViewModel.kt New ViewModel holding list state (blogPodcasts) and bottomInset.
modules/features/profile/src/main/java/au/com/shiftyjelly/pocketcasts/profile/blogs/BlogsListPage.kt New Compose list UI with rows + FAB for adding blogs.
modules/features/profile/src/main/java/au/com/shiftyjelly/pocketcasts/profile/blogs/BlogsFragment.kt Updates Compose navigation destinations and back stack behavior after adding a blog.

Copilot AI review requested due to automatic review settings May 13, 2026 12:23
Copy link
Copy Markdown
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 8 out of 8 changed files in this pull request and generated 4 comments.

@wpmobilebot
Copy link
Copy Markdown
Collaborator

Project dependencies changes

list
! Upgraded Dependencies
com.automattic:eventhorizon:pocket-casts-2026-05-13_12-14-29, (changed from pocket-casts-2026-05-11_00-19-10)
tree
 +--- project :modules:features:account
 |    \--- project :modules:features:search
 |         \--- project :modules:services:analytics
-|              +--- com.automattic:eventhorizon:pocket-casts-2026-05-11_00-19-10
+|              +--- com.automattic:eventhorizon:pocket-casts-2026-05-13_12-14-29
 |              +--- project :modules:services:model
-|              |    +--- com.automattic:eventhorizon:pocket-casts-2026-05-11_00-19-10 (*)
+|              |    +--- com.automattic:eventhorizon:pocket-casts-2026-05-13_12-14-29 (*)
 |              |    \--- project :modules:services:utils
 |              |         \--- project :modules:services:payment
-|              |              \--- com.automattic:eventhorizon:pocket-casts-2026-05-11_00-19-10 (*)
+|              |              \--- com.automattic:eventhorizon:pocket-casts-2026-05-13_12-14-29 (*)
 |              \--- project :modules:services:preferences
-|                   \--- com.automattic:eventhorizon:pocket-casts-2026-05-11_00-19-10 (*)
+|                   \--- com.automattic:eventhorizon:pocket-casts-2026-05-13_12-14-29 (*)
 \--- project :modules:features:discover
      \--- project :modules:features:podcasts
           \--- project :modules:features:player
                \--- project :modules:features:transcripts
                     \--- project :modules:services:sharing
-                         \--- com.automattic:eventhorizon:pocket-casts-2026-05-11_00-19-10 (*)
+                         \--- com.automattic:eventhorizon:pocket-casts-2026-05-13_12-14-29 (*)

Copilot AI review requested due to automatic review settings May 13, 2026 12:44
Copy link
Copy Markdown
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 9 out of 9 changed files in this pull request and generated 1 comment.

@geekygecko geekygecko marked this pull request as ready for review May 13, 2026 12:53
@geekygecko geekygecko requested a review from a team as a code owner May 13, 2026 12:53
@geekygecko geekygecko requested review from MiSikora and removed request for a team May 13, 2026 12:53
@geekygecko geekygecko merged commit adc028c into main May 13, 2026
23 checks passed
@geekygecko geekygecko deleted the philip/blogs-podcast-page branch May 13, 2026 21:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants