Podcast App
Android podcast app made with Jetpack Compose and ExoPlayer.
Podcast information provided by Listen Notes API.
Features
- Jetpack Compose UI. Custom animations, transitions, light/dark theme, and layouts.
- Jetpack Compose Navigation.
- Dependency injection with Hilt.
- MVVM Architecture.
- Retrieves podcasts metadata from the network.
- Allows background playback using a foreground service.
- Media style notifications.
- Uses a
MediaBrowserService
to control and expose the current media session. - Controls the current playback state with actions such as: play/pause, skip to next/previous, shuffle, repeat and stop.
- Supports offline playback using
CacheDataSource
fromExoPlayer
. - Process images to find its color palette using Palette API.
Libraries
- Jetpack Compose
- ExoPlayer
- Glide
- Hilt
- Retrofit
- Navigation
- ViewModel
- DataStore
- Palette API