[TV] Add folder support to the Your Podcasts tab - #5681
Conversation
Generated by 🚫 Danger |
2c70c60 to
c7aa413
Compare
|
@claude please review this |
|
Claude finished @sztomek's task in 5m 53s —— View job Code review
Nice change overall — the grid scaffold extraction is a good call, sorting via 1. Folder covers never refresh — the grid is reactive, the cards aren't
// TvYourPodcastsScreen.kt:181-184
var coverUrls by remember(folder.uuid) { mutableStateOf(emptyList<String>()) }
LaunchedEffect(folder.uuid, getFolderCoverUuids) {
coverUrls = getFolderCoverUuids(folder.uuid).map(PodcastImage::getMediumArtworkUrl)
}The view model re-runs 2. Data loading via
|
c7aa413 to
2929681
Compare
|
@claude review again pls |
|
Claude finished @sztomek's task in 4m 18s —— View job Code review (round 2)
Status of previous findings
A. Folder contents are sorted by the mobile sort setting, not A→ZThis is the one I'd want a decision on.
Meanwhile the top-level grid is deliberately forced to B. The enrichment is N+1, and
|
Description
Adds folder support to the TV Your Podcasts tab, mirroring the Apple TV
FolderCardView/FolderDetailView. Follow-up to the podcasts grid (#5680).FolderCardViewdraws (covers top, name bottom, 12dp corners).FolderDetailView. Back (or the empty-state button) returns to the grid.FolderManager.getHomeFolder()(folders + podcasts-not-in-a-folder) and re-queries it reactively whenever folders or subscriptions change, re-sorting the items A→Z withPodcastsSortType.NAME_A_TO_Zto match tvOS'stitleAtoZ. Folder covers and detail podcasts come fromFolderManager.findFolderPodcastsSorted().LocalColors.current.colors.getFolderColor(...)), so it uses the TV app's Extra Dark palette — the analog of tvOSAppTheme.folderColor(colorInt:).TvPodcastGridScaffold, now used by both the top-level grid and the folder detail. The newTvFolderCardreuses the existingTvTile+TvArtworkImage(whose placeholder already matches tvOS's empty-cover fill).ContentUnavailableView.Fixes PCDROID-697 https://linear.app/a8c/issue/PCDROID-697/folder-support.
Designs: Ftk3KwnfqaK4g57yCN63p0-fi-3246_3336.
Stacked on
feat/tv-your-podcasts(#5680) — merge bottom-up.Testing Instructions
./gradlew :tv:installDebugProd) and sign in with an account that has at least one folder with podcasts and some podcasts outside folders.Screenshots or Screencast
Screen_recording_20260729_190824.mp4
Checklist
./gradlew spotlessApplyto automatically apply formatting/linting)TvYourPodcastsViewModelTest)modules/services/localization/src/main/res/values/strings.xml