Commit fc5cb14
committed
feat: Implement Radio Browser API with server status monitoring
Major changes:
- Added RadioBrowserApi class with comprehensive API integration
- Implemented server status monitoring with availability checks
- Added support for IPv4 and IPv6 addresses with proper URL formatting
- Created ServerStatusView component for displaying server information
- Added player selection functionality with dependency checking
- Improved error handling and logging throughout the application
Technical details:
- Uses Ktor client for HTTP requests with proper timeout and retry configuration
- Implements coroutine-based async operations for better performance
- Added comprehensive logging with SLF4J
- Proper serialization handling for API responses
- Thread-safe server status management with synchronization
UI Components:
- ServerStatusView: Displays server information with availability indicators
- PlayerSelectionView: Allows selection of media players with dependency checks
- StationCard: Shows detailed station information with proper formatting
Core functionality:
- Server discovery and mirror selection
- Station search with proper error handling
- Player selection with dependency verification
- Stream playback support for multiple players
This commit establishes the core functionality for the Radio Browser application,
providing a robust foundation for radio station discovery and playback.1 parent c458a93 commit fc5cb14
File tree
7 files changed
+504
-475
lines changed- composeApp
- src/desktopMain/kotlin
- player/data/repository
- radio
- data/api
- presentation/Page
- ui
- components
- pages
- viewmodels
7 files changed
+504
-475
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
| 6 | + | |
6 | 7 | | |
7 | 8 | | |
8 | 9 | | |
| |||
25 | 26 | | |
26 | 27 | | |
27 | 28 | | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
28 | 35 | | |
29 | 36 | | |
30 | 37 | | |
| |||
Lines changed: 7 additions & 3 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
| 3 | + | |
3 | 4 | | |
4 | 5 | | |
| 6 | + | |
5 | 7 | | |
6 | 8 | | |
7 | 9 | | |
| |||
44 | 46 | | |
45 | 47 | | |
46 | 48 | | |
47 | | - | |
48 | | - | |
49 | | - | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
50 | 54 | | |
51 | 55 | | |
52 | 56 | | |
| |||
0 commit comments