How hashaleen420/adelociptv works
Adeloc IPTV is an Android IPTV/VOD player: users configure a playlist, browse live channels, movies, or series, consult the TV guide, and play or resume streams. The graph highlights playlist synchronization, catalog discovery, playback, and persisted preferences/history, plus documented multi-view, PiP, casting, and parental-control capabilities. Source excerpts confirm the app navigation, Xtream synchronization, database, and player handoff; some UI-to-repository wiring and feature internals are unsampled, so uncertain links are omitted.
Main entry points: VideoPlayer.kt Video player · MainActivity.kt App navigation · DashboardScreen.kt Dashboard · XtreamSyncRepository.kt Playlist sync
Components 30
App navigation
- App navigation
app/src/main/java/com/adeloc/iptv/MainActivity.kt - Playlist login
app/src/main/java/com/adeloc/iptv/ui/login/LoginScreen.kt - Login state
app/src/main/java/com/adeloc/iptv/ui/login/LoginViewModel.kt - Dashboard
app/src/main/java/com/adeloc/iptv/ui/dashboard/DashboardScreen.kt - Settings
app/src/main/java/com/adeloc/iptv/ui/settings/SettingsScreen.kt
Playlist ingest
- M3U parsing
app/src/main/java/com/adeloc/iptv/domain/usecase/ParseM3uUseCase.kt - M3U parser
app/src/main/java/com/adeloc/iptv/util/M3uParser.kt - Xtream repository
app/src/main/java/com/adeloc/iptv/data/repository/XtreamRepository.kt - Playlist sync
app/src/main/java/com/adeloc/iptv/data/repository/XtreamSyncRepository.kt - Xtream API
app/src/main/java/com/adeloc/iptv/data/remote/XtreamApiService.kt - Background sync
app/src/main/java/com/adeloc/iptv/worker/SyncWorker.kt
Catalog and guide
- Live TV
app/src/main/java/com/adeloc/iptv/ui/tv/LiveTvDashboard.kt - VOD catalog
app/src/main/java/com/adeloc/iptv/ui/vod/VodDashboard.kt - Series details
app/src/main/java/com/adeloc/iptv/ui/series/SeriesDetailScreen.kt - Global search
app/src/main/java/com/adeloc/iptv/ui/search/GlobalSearchViewModel.kt - TV guide
app/src/main/java/com/adeloc/iptv/ui/tvguide/TvGuideViewModel.kt - EPG sync
app/src/main/java/com/adeloc/iptv/domain/usecase/SyncEpgUseCase.kt
Playback experience
- Video player
app/src/main/java/com/adeloc/iptv/ui/player/VideoPlayer.kt - Player state
app/src/main/java/com/adeloc/iptv/ui/player/PlayerViewModel.kt - Multi-view
app/src/main/java/com/adeloc/iptv/ui/multiview/MultiViewScreen.kt - Picture-in-picture
app/src/main/java/com/adeloc/iptv/ui/player/PipUtils.kt - Track selection
app/src/main/java/com/adeloc/iptv/ui/player/TrackSelectionManager.kt - Cast playback
app/src/main/java/com/adeloc/iptv/cast/CastPlayerManager.kt
Local state
- User preferences
app/src/main/java/com/adeloc/iptv/data/local/datastore/UserPreferences.kt - Room database
app/src/main/java/com/adeloc/iptv/data/local/AppDatabase.kt - Data access
app/src/main/java/com/adeloc/iptv/data/local/dao/StreamDao.kt - Search repository
app/src/main/java/com/adeloc/iptv/data/repository/SearchRepository.kt
Other components
- Viewer
- Playlist provider
- Cast receiver
Connections 31
- Viewer → App navigation: opens
- App navigation → User preferences: reads active playlist
- App navigation → Playlist login: routes to
- App navigation → Dashboard: routes to
- App navigation → Video player: opens player
- Viewer → Playlist login: configures playlist
- Playlist login → Login state: submits credentials
- Login state → Xtream repository: uses
- Playlist provider → Xtream API: serves playlist data
- M3U parsing → M3U parser: parses with
- Playlist sync → Xtream API: fetches catalog
- Playlist sync → Data access: stores catalog and EPG
- Background sync → Playlist sync: runs sync
- Dashboard → Live TV: opens live TV
- Dashboard → VOD catalog: opens VOD
- Dashboard → Series details: opens series
- Global search → Search repository: queries
- Search repository → Data access: searches streams
- TV guide → EPG sync: requests guide data
- EPG sync → Playlist sync: uses synchronization
- Live TV → Video player: opens stream
- VOD catalog → Video player: opens stream
- Series details → Video player: plays episode
- Video player → Player state: saves progress
- Player state → Data access: persists playback state
- Video player → Track selection: selects tracks
- Video player → Picture-in-picture: supports PiP
- Multi-view → Video player: plays streams
- Cast playback → Cast receiver: casts media
- Settings → User preferences: updates preferences
- Room database → Data access: provides access