Commit Graph

4 Commits

Author SHA1 Message Date
2a7874806d feat: show in-progress downloads with progress bar and cancel in DownloadsContent
- Add ActiveDownloadItem data class to represent a download in progress
- Add observeActiveDownloads() to MediaDownloadManager, polling the Media3
  download index every 500ms on Dispatchers.IO for reliable real-time progress
  (listener callbacks alone do not fire on every progress update)
- DownloadsViewModel exposes activeDownloads (StateFlow) and cancelDownload();
  the completed downloads flow filters out items currently in progress
- DownloadsContent shows a "Downloading" section with thumbnail, title,
  progress bar + percentage, and a cancel button above the completed grid
2026-03-20 16:55:37 +01:00
8c7ddab9c2 feat: Implement Episode download functionality 2026-02-22 15:41:42 +01:00
781d36cc99 refactor: replace Room backing store in InMemoryMediaRepository with MutableStateFlows
- Remove RoomMediaLocalDataSource dependency from InMemoryMediaRepository;
  libraries, movies, series, and episodes are now held in MutableStateFlows
- observeSeriesWithContent derives from _series flow via map {}
- updateWatchProgress mutates _movies / _episodes in-memory
- ensureSeriesContentLoaded checks and updates _series in-memory
- Reorganize Room package: move entities/DAOs from local/room to room/entity and room/dao
2026-02-22 11:05:28 +01:00
7333781f83 refactor: modularize app into multi-module architecture 2026-02-22 11:05:26 +01:00