How nikeshjr/anilili works
Anilili is a native Android anime discovery and viewing app for phones and TVs. The principal workflow is to discover a title, open its details, resolve an episode from a streaming source, and watch it in the native player; viewers can also download episodes and track progress. The graph preserves documented list sync, backup, airing reminders, recommendations, and diagnostics. Some connections are based on the README rather than inspected implementation; the source index identifies important modules but does not establish their runtime call paths.
Main entry points: MiruroRepository.kt Anime repository · HomeScreen.kt Home and discovery UI · DetailScreen.kt Title details · PlaybackService.kt Native playback service
Components 23
Adaptive app experience
- Android app entry
app/src/main/java/com/anilili/MainActivity.kt - Navigation routes
app/src/main/java/com/anilili/ui/nav/Routes.kt - Home and discovery UI
app/src/main/java/com/anilili/ui/home/HomeScreen.kt - Title details
app/src/main/java/com/anilili/ui/detail/DetailScreen.kt
Anime discovery
- Anime repository
app/src/main/java/com/anilili/data/MiruroRepository.kt - Streaming providers
app/src/main/java/com/anilili/data/remote - Metadata clients
app/src/main/java/com/anilili/data/remote/AniListClient.kt
Playback and downloads
- Native playback service
app/src/main/java/com/anilili/playback/PlaybackService.kt - Episode downloads
app/src/main/java/com/anilili/playback/EpisodeDownloads.kt - Download service
app/src/main/java/com/anilili/playback/EpisodeDownloadService.kt
Library and accounts
- Saved titles and progress
app/src/main/java/com/anilili/data/library/LibraryStore.kt - Account authentication
app/src/main/java/com/anilili/data/auth/AuthManager.kt - Backup and restore
app/src/main/java/com/anilili/data/backup/AppBackup.kt - Taste recommendations
app/src/main/java/com/anilili/data/recs/TasteEngine.kt
App services
- Dependency graph
app/src/main/java/com/anilili/data/AppGraph.kt - Settings
app/src/main/java/com/anilili/data/settings/SettingsStore.kt - Airing reminders
app/src/main/java/com/anilili/data/reminder/AutomaticReleaseManager.kt - Update manager
app/src/main/java/com/anilili/data/update/UpdateManager.kt
Diagnostics support
- Shareable diagnostics
app/src/main/java/com/anilili/diagnostics/DiagnosticsShareManager.kt - Diagnostic log
app/src/main/java/com/anilili/diagnostics/DiagnosticsLog.kt - Support console
infrastructure/diagnostics-gateway/src/Console.tsx - Diagnostics gateway
infrastructure/diagnostics-gateway/server/app.ts
Other components
- Viewer
Connections 20
- Viewer → Android app entry: opens
README.md - Android app entry → Home and discovery UI: shows
README.md - Home and discovery UI → Anime repository: discovers titles
README.md - Home and discovery UI → Title details: opens title
README.md - Title details → Anime repository: loads episodes
README.md - Anime repository → Streaming providers: resolves streams
README.md - Anime repository → Metadata clients: loads metadata
- Title details → Native playback service: starts episode
README.md - Native playback service → Episode downloads: plays offline episodes
README.md - Episode downloads → Download service: runs background downloads
app/src/main/java/com/anilili/playback/EpisodeDownloadService.kt - Viewer → Account authentication: signs in
README.md - Account authentication → Saved titles and progress: syncs list progress
README.md - Native playback service → Saved titles and progress: updates progress
README.md - Saved titles and progress → Taste recommendations: provides taste signals
- Viewer → Backup and restore: backs up or restores
README.md - Viewer → Airing reminders: receives airing alerts
README.md - Viewer → Update manager: checks for updates
- Viewer → Shareable diagnostics: shares support report
README.md - Shareable diagnostics → Diagnostic log: collects report data
app/src/main/java/com/anilili/diagnostics/DiagnosticsShareManager.kt - Support console → Diagnostics gateway: requests admin data