AnEstevez / kirabi

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

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.


Languages

Language:Kotlin 100.0%