# 24/7 Radio Personal-use Android app for 24/7 internet radio streaming. ## Features - **Custom Raw Audio Pipeline** — OkHttp → IcyParser → Mp3FrameSync → MediaCodec → AudioTrack for absolute minimum latency (~26ms per MP3 frame) - **Stay Connected Mode** — Aggressive reconnection with exponential backoff, never gives up - **Dual Timers** — Session elapsed time and connection elapsed time - **Latency Indicator** — Estimated stream-to-speaker latency - **Icecast/Shoutcast Metadata** — Track title, artist extraction from ICY protocol - **Album Art** — MusicBrainz/Cover Art Archive lookup with fallback chain - **Playlist Management** — PLS/M3U import/export with #EXTIMG support - **Station Organization** — Playlists, starring/favoriting, manual reorder ## Requirements - Android 9.0+ (API 28) - Internet connection ## Build ```bash ./gradlew assembleDebug ``` ## Import Stations 1. Open the app 2. Tap the import icon in the top bar 3. Select a .m3u or .pls file 4. Stations are added to your list ## Architecture See [Design Document](docs/plans/2026-03-09-android-247-radio-design.md) and [Implementation Plan](docs/plans/2026-03-09-android-247-radio-implementation.md).