Limits volume API calls to max 1 per 300ms while dragging the slider.
UI updates remain immediate for smooth feedback, and the final value
is always sent when the user stops adjusting.
- Fix station list starting at index 0 instead of 1
- Fetch and display station favicons from RadioBrowser
- Remove redundant "Station X" text from list items
Display a CircularProgressIndicator with "Connecting..." text during
initial connection attempts. Only show the connection error message
after 10 seconds of failed attempts to improve user experience.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add Jetpack Compose UI with Material 3 theming
- Implement Karadio32 HTTP API client (play/stop, volume, stations)
- Integrate RadioBrowser.info API for station icons and metadata
- Add settings screen with server address and theme configuration
- Support light/dark/system theme modes and 6 color themes
- Configure network security for local HTTP connections
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Set up Android project with Gradle Kotlin DSL, Material 3, and DayNight theme support.
Targeting Android 13+ (SDK 33-36).
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>