How kairesh/mediafetch-app works
MediaFetch Mobile is an Android media discovery and downloader. Users enter or share a media link, resolve available media and qualities, optionally select chapters, captions, or other download settings, then enqueue downloads and monitor progress. Search and a home-screen widget provide alternate entry points; a native updater checks for and installs releases. The excerpts support the main UI-to-engine/service handoffs, but do not expose every web UI callback or download-processing detail, so uncertain connections are omitted.
Main entry points: MainActivity.kt Main Activity · DownloadService.kt Download Queue and Worker · ShareActivity.kt Share Activity · MediaEngine.kt Media Resolver
Components 20
Discovery and UI
- Web UI
mobile/app/src/main/assets/app.js - Main Activity
mobile/app/src/main/java/com/mediafetch/app/MainActivity.kt - Share Activity
mobile/app/src/main/java/com/mediafetch/app/ShareActivity.kt
Media and Downloads
- Media Search
mobile/app/src/main/java/com/mediafetch/app/engine/MediaSearchEngine.kt - Media Resolver
mobile/app/src/main/java/com/mediafetch/app/engine/MediaEngine.kt - Stream Extractor
mobile/app/src/main/java/com/mediafetch/app/engine/StreamExtractor.kt - Media and Task Models
mobile/app/src/main/java/com/mediafetch/app/model/Models.kt - Download Queue and Worker
mobile/app/src/main/java/com/mediafetch/app/service/DownloadService.kt - Download Actions
mobile/app/src/main/java/com/mediafetch/app/service/DownloadActionReceiver.kt - Device Media Storage
Android Entry Points
- Android Share Sheet
mobile/app/src/main/assets/share_sheet.js - Home Screen Widget
mobile/app/src/main/java/com/mediafetch/app/widget/MediaFetchWidgetProvider.kt - Widget Actions
mobile/app/src/main/java/com/mediafetch/app/widget/WidgetActionActivity.kt
Updates
- Update Scheduler
mobile/app/src/main/java/com/mediafetch/app/update/UpdateCheckReceiver.kt - Update Manager
mobile/app/src/main/java/com/mediafetch/app/update/UpdateManager.kt
Other components
- User
- Media Platforms
- Search Services
- Release Metadata
- APK Release
Connections 25
- User → Web UI: uses
- Web UI → Main Activity: calls bridge
- Main Activity → Media Resolver: resolves links
- Main Activity → Media Search: searches media
- Main Activity → Download Queue and Worker: enqueues tasks
- Android Share Sheet → Share Activity: shares link
- User → Android Share Sheet: shares media
- Share Activity → Media Resolver: resolves links
- Share Activity → Download Queue and Worker: enqueues tasks
- Media Search → Search Services: queries
- Media Resolver → Media Platforms: resolves media
- Media Resolver → Stream Extractor: extracts streams
- Main Activity → Media and Task Models: creates tasks
- Share Activity → Media and Task Models: creates tasks
- Download Queue and Worker → Media and Task Models: updates task state
- Download Queue and Worker → Media Platforms: fetches streams
- Download Queue and Worker → Device Media Storage: writes downloads
- Download Actions → Download Queue and Worker: dispatches actions
- Home Screen Widget → Widget Actions: launches actions
- Widget Actions → Main Activity: opens screens
- Widget Actions → Share Activity: starts fast download
- Update Scheduler → Update Manager: checks periodically
- Main Activity → Update Manager: checks and installs
- Update Manager → Release Metadata: fetches version info
- Update Manager → APK Release: downloads APK