How sjshb57/bilibilias-r works
BILIBILIAS is a cross-platform Bilibili companion app whose visible runtime centers on resolving video information and managing media downloads, alongside account, settings, and storage features. The shown download manager creates persisted task trees, obtains playback data, and starts an Android foreground service; shared storage screens expose storage information and controls. The excerpts provide only a partial view of app navigation and several feature implementations, so undocumented connections are omitted rather than inferred.
Main entry points: NewDownloadManager.kt Download manager · StorageManagementScreen.kt Storage management · BILIBILIASDatabase.kt Room database · DownloadService.kt Foreground service
Components 22
Download workflow
- Download manager
app/src/main/java/com/imcys/bilibilias/download/NewDownloadManager.kt - Foreground service
app/src/main/java/com/imcys/bilibilias/download/service/DownloadService.kt - Video info fetcher
app/src/main/java/com/imcys/bilibilias/download/VideoInfoFetcher.kt - Download execution
app/src/main/java/com/imcys/bilibilias/download/DownloadExecutor.kt - File output
app/src/main/java/com/imcys/bilibilias/download/FileOutputManager.kt - Media merging
core/ffmpeg/src/main/java/com/imcys/bilibilias/ffmpeg/MediaMergeManager.kt - Shared download runtime
shared/src/commonMain/kotlin/com/imcys/bilibilias/shared/download/runtime/SharedDownloadManager.kt
Bilibili integration
- Video information
core/data/src/main/java/com/imcys/bilibilias/data/repository/VideoInfoRepository.kt - Bilibili web API
core/network/src/commonMain/kotlin/com/imcys/bilibilias/network/service/BILIBILIWebAPIService.kt - Bilibili TV API
core/network/src/commonMain/kotlin/com/imcys/bilibilias/network/service/BILIBILITVAPIService.kt - Cookie storage
core/network/src/commonMain/kotlin/com/imcys/bilibilias/network/AsCookiesStorage.kt
Persistence and settings
- Download task repository
core/data/src/main/java/com/imcys/bilibilias/data/repository/DownloadTaskRepository.kt - Download task database
core/database/src/commonMain/kotlin/com/imcys/bilibilias/database/entity/download/DownloadTask.kt - Room database
core/database/src/commonMain/kotlin/com/imcys/bilibilias/database/BILIBILIASDatabase.kt - Task DAO
core/database/src/commonMain/kotlin/com/imcys/bilibilias/database/dao/DownloadTaskDao.kt - App settings
core/data/src/main/java/com/imcys/bilibilias/data/repository/AppSettingsRepository.kt
Shared app features
- Storage management
shared/src/commonMain/kotlin/com/imcys/bilibilias/shared/feature/setting/storage/StorageManagementScreen.kt - Storage view model
shared/src/commonMain/kotlin/com/imcys/bilibilias/shared/feature/setting/storage/StorageManagementViewModel.kt - Platform storage
shared/src/commonMain/kotlin/com/imcys/bilibilias/shared/platform/storage/StoragePlatform.kt - Storage utilities
shared/src/commonMain/kotlin/com/imcys/bilibilias/shared/util/StorageUtil.kt
Other components
- App user
- Android activity
app/src/main/java/com/imcys/bilibilias/MainActivity.kt
Connections 8
- Download manager → Download task repository: creates tasks
app/src/main/java/com/imcys/bilibilias/download/NewDownloadManager.kt - Download manager → Video info fetcher: fetches playback data
app/src/main/java/com/imcys/bilibilias/download/NewDownloadManager.kt - Download manager → Foreground service: starts service
app/src/main/java/com/imcys/bilibilias/download/NewDownloadManager.kt - Room database → Task DAO: exposes
core/database/src/commonMain/kotlin/com/imcys/bilibilias/database/BILIBILIASDatabase.kt - Room database → Download task database: stores entities
core/database/src/commonMain/kotlin/com/imcys/bilibilias/database/BILIBILIASDatabase.kt - Storage management → Storage view model: loads storage state
shared/src/commonMain/kotlin/com/imcys/bilibilias/shared/feature/setting/storage/StorageManagementScreen.kt - Storage management → Platform storage: uses platform controls
shared/src/commonMain/kotlin/com/imcys/bilibilias/shared/feature/setting/storage/StorageManagementScreen.kt - Storage management → Storage utilities: formats storage data
shared/src/commonMain/kotlin/com/imcys/bilibilias/shared/feature/setting/storage/StorageManagementScreen.kt