enemy is a supplemental code sample written by @buggily. While primary purpose of enemy is exhibition, @buggily uses enemy as their dedicated audio player in everyday life!
enemy provides browsing and playback by album. A media service supports background playback, and the corresponding media notification is available in both the notification tray and on the lock screen. enemy adopts the early beta of Media3 to achieve a familiar playback experience. @buggily plans enhancements to follow a stable Media3 release.
enemy demonstrates the following:
- Dependency injection via Hilt
- Positional paging via Paging3
- Audio playback via Media3
- Declarative layouts via Jetpack Compose
- Image loading via Coil
- Unidirectional data flow via MVVM
Because enemy is a strictly local client, setup simply involves cloning the repository, provided audio files exist on the device. Run in Android Studio or any Android IDE.
enemy in dynamic light and dark modes
enemy in static light and dark modes