Skip to content

Playground to test exoplayer2, particularly its StyledPlayerView and PlayerNotificationManager. Also to emulate some features of the Spotify interface.

Notifications You must be signed in to change notification settings

AnEstevez/kirabi

Repository files navigation

Kirabi

Playground to test exoplayer2, particularly its StyledPlayerView and PlayerNotificationManager. Also to emulate some features of the Spotify interface. Kirabi is an app that plays music stored in Firebase. It is based on the https://github.com/philipplackner/SpotifyCloneYT and https://github.com/android/uamp projects.


Tech stack & Open-source libraries

  • ViewBinding - Allows to more easily write code that interacts with views.
  • ViewModel - State Holder. Responsible for the production of UI state, contains the necessary logic for that task.
  • Lifecycle - Lifecycle-aware components.
  • Navigation - In-app navigation.
  • SafeArgs - Passing data while navigating between fragments.
  • Kotlin Coroutines - A concurrency design pattern to simplify code that executes asynchronously.
  • Palette - A helper class to extract prominent colors from an image.
  • Exoplayer 2 - ExoPlayer is an application level media player for Android. It provides an alternative to Android’s MediaPlayer API for playing audio and video both locally and over the Internet.
  • Firebase Firestore - Cloud Firestore is a NoSQL document database that lets you easily store, sync, and query data for your mobile and web apps - at global scale.
  • Firebase Storage - Cloud Storage is designed to help you quickly and easily store and serve user-generated content, such as photos and videos.
  • Rainbow - Fluent syntactic sugar of Android for applying gradations, shading, and tinting.
  • Dagger-Hilt - Dependency injection.
  • Glide - Image loading.

Preview

Generation of oblique gradient for the background from the prominent colors of the cover

Media style notification reflecting the player state

Swipe to change song and auto-scrolling track info

About

Playground to test exoplayer2, particularly its StyledPlayerView and PlayerNotificationManager. Also to emulate some features of the Spotify interface.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages