Skip to content

Code quality: split HomeScreen.kt (688 lines) and Daos.kt (643 lines) #49

Description

@Yokomoko

From: review-reports/code-quality.md findings #2, #3

HomeScreen.kt (688 LOC): contains HomeScreen, HeroCarousel, StaticHero, SyncBanner, MovieCardWithContextMenu, MovieCard, CwCard in one file. HeroCarousel alone is ~130 LOC. Hard to review/test/refactor any single piece.

Fix: Extract to ui/home/:

  • HeroCarousel.kt
  • SyncBanner.kt
  • ui/widgets/MovieCard.kt + CwCard.kt (they're reusable)

Daos.kt (643 LOC): 11 DAO interfaces + ProviderCount + ContentDao.Companion search-query builder all in one file. MovieDao alone is 200 LOC.

Fix: Split data/db/ into per-DAO files matching the one-file-per-entity convention already used in Entities.kt: MovieDao.kt, SeriesDao.kt, ChannelDao.kt, ProgrammeDao.kt, etc.

No behaviour change — pure organisation. Makes future reviews + git blame easier.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestnice-to-havePolish — improves but not critical

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions