Skip to content

experimental UNOFFICIAL Spotify client for Android built on librespot-java + Jetpack Compose

License

Notifications You must be signed in to change notification settings

ebfork/jetispot

This branch is 2 commits ahead of, 3 commits behind iTaysonLab/jetispot:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

6e5f214 · Oct 10, 2022
Oct 10, 2022
Sep 9, 2022
Oct 10, 2022
Sep 26, 2022
Apr 16, 2022
Apr 16, 2022
Jun 6, 2022
Oct 3, 2022
Apr 16, 2022
Apr 16, 2022
Apr 16, 2022
May 3, 2022

Repository files navigation

Jetispot

probably usable UNOFFICIAL Spotify client for Android, built with Jetpack Compose and librespot-java

Spotify Premium account is REQUIRED*. Offline caching, DRM bypassing or raw file downloading is prohibted by ToS and will NEVER be implemented in Jetispot. Don't waste your time trying to request these features.

What's working:

  • sign in (login/pass only, no FB/Meta/whatsoever support, no Smart Lock either)
  • "browse", "home", album, premium plan, artist and genre screens (some of the blocks might be unsupported)
  • library: "liked songs" w/ tag&sort support, rootlist (liked playlists) + pins + artist/album support w/ nice animations, delta updates + pub/sub processing support
  • basic playback w/ Spotify Connect support (connect support is very WIP)
  • fairly optimized R8 rules, providing approx. 5-6 megabytes release APK size (with the playback and protobuf parts!)

What's in progress:

  • "Now Playing" improvements
  • better service (notification improvements)

Application stack:

  • playback: librespot-java as the core + sinks/decoders from librespot-android + Media2 for the mediasession support
  • UI: Jetpack Compose
  • DI: Hilt/Dagger
  • network: Retrofit w/ Moshi+Protobuf converters
  • pictures: Coil
  • storage: Room (collection), MMKV (metadata)
  • arch: MVVM
  • preferences: Jetpack Datastore (proto)

Credits:

  • librespot-java for the core API part and playback
  • librespot-android for sink and decoder source (in Jetispot they are rewritten to Kotlin)
  • moshi and moshix for the undocumented API JSON parsing
  • VK Icons for the amazing icon set used in the application's icon
  • MMKV for ultra-fast way to cache entity extended metadata
  • Google for Android/Jetpack/Hilt

* I heard some people can log in with a free account, but I won't provide any assistance to people without premium subscription. There is a possibility that a subscription check may be added to the client side in the future.

About

experimental UNOFFICIAL Spotify client for Android built on librespot-java + Jetpack Compose

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Kotlin 83.4%
  • Java 16.6%