Episode summaries tweaks#5335
Merged
Merged
Conversation
Collaborator
Contributor
There was a problem hiding this comment.
Pull request overview
Tweaks the episode details UI/state for the AI Summaries surface introduced in #5276 by consolidating related state into a single EpisodePageState, simplifying tab rendering, and adjusting layout spacing/typography for the summary view.
Changes:
- Consolidates transcript/summary/Plus status/tab selection/date+duration into
EpisodePageStateand updates UI bindings to consume it. - Adjusts episode header spacing by introducing a padding spacer + barrier above the title when the AI date/duration row is present/absent.
- Simplifies
ButtonTabsby removing unused icon/trailing-icon support and removes the summary text animation while darkening summary body text.
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| modules/services/compose/src/main/java/au/com/shiftyjelly/pocketcasts/compose/buttons/ButtonTabs.kt | Removes icon/trailing icon support from ButtonTab and simplifies tab content. |
| modules/features/podcasts/src/main/res/layout/fragment_episode.xml | Updates constraints/spacing for the episode date+duration row and title positioning. |
| modules/features/podcasts/src/main/java/au/com/shiftyjelly/pocketcasts/podcasts/view/episode/EpisodeFragmentViewModel.kt | Introduces EpisodePageState and migrates multiple independent flows into a single StateFlow. |
| modules/features/podcasts/src/main/java/au/com/shiftyjelly/pocketcasts/podcasts/view/episode/EpisodeFragment.kt | Updates Compose content to read from pageState, removes summary animation, and tweaks summary text styling. |
Contributor
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 5 out of 5 changed files in this pull request and generated 2 comments.
Comments suppressed due to low confidence (1)
modules/features/podcasts/src/main/java/au/com/shiftyjelly/pocketcasts/podcasts/view/episode/EpisodeFragment.kt:746
ButtonTabsis passedbackgroundColor = primaryUi01here, butButtonTabs' defaulttextSelectedColoris stillprimaryUi02. In dark themesprimaryUi01andprimaryUi02differ, so the selected tab text won't blend with the row background as intended. PasstextSelectedColor = MaterialTheme.theme.colors.primaryUi01(or adjustButtonTabsdefaults) to keep the selected text/background pairing consistent.
ButtonTabs(
tabs = tabs,
selectedTab = selectedButtonTab,
backgroundColor = MaterialTheme.theme.colors.primaryUi01,
modifier = Modifier
.fillMaxWidth()
.padding(top = 4.dp),
)
10 tasks
sztomek
approved these changes
May 25, 2026
Contributor
sztomek
left a comment
There was a problem hiding this comment.
thanks for these changes!
…hadows the backgroundColor parameter
c43d968 to
3a107a0
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
Tweaks the episode page UI and state handling for the PR #5276
This PR:
EpisodePageState.ButtonTabsunused attributes.Testing Instructions
Screenshots
Checklist
./gradlew spotlessApplyto automatically apply formatting/linting)modules/services/localization/src/main/res/values/strings.xmlI have tested any UI changes...