How mikailakar/simpleiptv works
SimpleIPTV is an Android IPTV player: users provide their own playlist, browse channels, and watch streams. Its documented workflow covers M3U or Xtream loading, channel/category parsing and caching, browsing and customization, then playback; Xtream playlists also support EPG. The sampled implementation concentrates these responsibilities in MainActivity.kt. The README documents player controls and management features whose detailed wiring is not visible in the excerpts, so those links are intentionally limited.
Main entry points: MainActivity.kt App interface
Components 13
Playlist ingestion
- Playlist loading
app/src/main/java/com/micka/simpleiptv/MainActivity.kt - Playlist service
- Channel parsing
app/src/main/java/com/micka/simpleiptv/MainActivity.kt
Channel browsing
- App interface
app/src/main/java/com/micka/simpleiptv/MainActivity.kt - Channel and category browsing
app/src/main/java/com/micka/simpleiptv/MainActivity.kt - Favorites and ordering
app/src/main/java/com/micka/simpleiptv/MainActivity.kt - Live EPG
app/src/main/java/com/micka/simpleiptv/MainActivity.kt
Playback
- Video player
app/src/main/java/com/micka/simpleiptv/MainActivity.kt - Media3 playback
- Playback controls
app/src/main/java/com/micka/simpleiptv/MainActivity.kt
Preferences and cache
- Channel cache
app/src/main/java/com/micka/simpleiptv/MainActivity.kt - User preferences
app/src/main/java/com/micka/simpleiptv/MainActivity.kt
Other components
- Viewer
Connections 14
- Viewer → App interface: uses
- App interface → Playlist loading: loads playlists
- Playlist loading → Playlist service: fetches streams
- Playlist loading → Channel parsing: parses response
- Channel parsing → Channel cache: caches channels
- App interface → Channel cache: reads cache
- App interface → Channel and category browsing: shows channels
- Channel and category browsing → Favorites and ordering: manages favorites
- Favorites and ordering → User preferences: saves settings
- App interface → User preferences: loads settings
- Channel and category browsing → Live EPG: views guide
- Channel and category browsing → Video player: selects channel
- Video player → Media3 playback: controls playback
- Video player → Playback controls: offers controls