Skip to content

ounben/AMARadio

Repository files navigation

AMARadio

License: GPL v3 Get it on Google Play

AMARadio is an open-source Android application for worldwide radio streaming. By leveraging the community-supported radio-browser.info database, AMARadio provides instant access to thousands of stations in a stable, modern, and user-friendly environment.

Core Philosophy

AMARadio was developed to enable an honest and distraction-free listening experience. The app is completely ad-free, contains no tracking, and no unnecessary bloatware. Originally started as a personal project to create a simple and accessible interface for global radio, the app remains consistently transparent and easy to use – for everyone.

Key Features

  • Instantaneous UI: Thanks to a highly optimized architecture, switching between tabs and opening the player occurs without delay or flickering.
  • Comprehensive Accessibility: Fully optimized for TalkBack and screen readers. Features semantic grouping of information, localized accessibility strings in over 74 languages, and "speaking" status icons for fluid navigation.
  • Advanced Search & Filtering: Find stations by Name, Country, Language, or Tags. Metadata for over 11,000 tags is cached locally in a high-performance SQL database to enable instant offline suggestions.
  • Community Support (Click Counting): Supports the global ranking of radio stations by reporting playback clicks directly to the official radio-browser.info API.
  • Dynamic UI Scaling: Custom settings allow for the adjustment of the user interface size from Compact to Extra Large.
  • Broad Language Support: Support for over 74 languages, including a variety of African languages (Afrikaans, Amharic, Swahili, Zulu) with a dedicated in-app language selector.
  • Modern Design: Developed with Jetpack Compose, featuring seamless support for Dark/Light modes and edge-to-edge system integration.
  • High-Performance Streaming: A robust engine based on AndroidX Media3 (ExoPlayer) with real-time audio thread prioritization, strict audio focus handling, and intelligent connection management.
  • High Availability: Integrated failover support via mirror servers ensures uninterrupted station browsing even if the primary database is offline.
  • Smart Management: Includes a sleep timer, efficient favorites management, and full support for M3U playlist export/import.
  • Advanced Android Auto Integration: Fully optimized for vehicle head units with driver-safe interfaces and high-contrast Material icons.

Screenshots

Getting Started

Installation

The latest version (v1.15) introduces a high-performance SQL metadata architecture and official click count support. You can download the application from the Google Play Store or the GitHub releases page.

Building from Source

To build the project locally, ensure you have the latest version of Android Studio installed.

  1. Clone the repository:
    git clone https://github.com/ounben/AMARadio.git
  2. Open the project in Android Studio.
  3. Build using the Gradle wrapper:
    ./gradlew assembleDebug

Technical Specification

  • Language: 100% Kotlin
  • UI Framework: Jetpack Compose & Material 3
  • Architecture: MVVM with Activity-scoped ViewModels for state management
  • Persistence: Room Database for stations, history, and metadata cache
  • Networking: OkHttp 5 & Coroutines for API communication, Coil for async image loading
  • Media Engine: AndroidX Media3 (ExoPlayer)
  • Target SDK: 37 (Android 17)
  • Minimum SDK: 26 (Android 8.0)

Contributing

Contributions are welcome and appreciated. If you wish to improve the codebase, fix bugs, or update translations, please follow these steps:

  • Report issues via the GitHub Issue Tracker.
  • Submit improvements via Pull Requests.
  • Translation updates are highly encouraged to improve global accessibility.

License

This project is licensed under the GNU General Public License v3.0. Detailed information can be found in the LICENSE file.


AMARadio - Professional Radio Streaming for Android.

About

Radio App, Adfree, No Paywall. AMARadio is built to provide an honest, distraction-free listening experience. It contains zero advertisements, zero tracking, and no bloatware. Originally developed as a personal project to provide a simple, accessible interface for internet radio, the app remains strictly committed to transparency and ease of use.

Topics

Resources

Code of conduct

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages