Skip to content

Unofficial Spotify client for Android built with Jetpack Compose, Material 3 and librespot-java. Fork ahead of Tayson's original repo.

License

Notifications You must be signed in to change notification settings

BobbyESP/Jetispot

 
 

Repository files navigation

Jetispot

A Spotify unofficial client built with Jetpack Compose, Material You/3 and librespot-java

INFO

I will be working on Jetispot as soon as I can, but at the moment I'm remaking Spowlo; now it will be a song downloader app (https://github.com/BobbyESP/Spowlo/tree/remake-2). Once I finish, I will improve this client. Thank you all!

📣 NOTICE

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.

🔮 App features

  • Sign In (login/pass only, no FB/Meta/Google support, no Smart Lock either)
  • "Browse", "Home", Album, Premium Plans overview, Artists and Genres screens (some of the blocks might be unsupported).
  • Library: "liked songs" with tag & sort support, rootlist (liked playlists) + pins + artist/album support with nice animations, delta updates and also pub/sub processing support
  • Basic playback with Spotify Connect support (Spotify Connect support is actually WIP)
  • Fairly optimized R8 rules, providing the release APKs with a size of 4-5mb (with the playback and protobuf parts!)

📸 Screenshots

image image image image image image

🔨 What's in progress

  • "Now Playing" improvements
  • Better playback service (notification improvements)
  • Fixing "unsupported" warnings

👷 App specifications

  • Playback: librespot-java as the core + sinks/decoders from librespot-android + Media2 for the mediasession support
  • UI: Jetpack Compose with Material You 3
  • DI: Hilt/Dagger
  • Network: Retrofit w/ Moshi + Protobuf converters
  • Pictures: Coil
  • Storage: Room (collection), MMKV (metadata)
  • Arch: MVVM
  • Preferences: Jetpack Datastore (proto)

⬇️ Downloads

You can go to the releases page and download any version updated.

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 Jetpack Compose, Protocol Buffers and Material UI components

* Some people can actually login without a Spotify Premium account. Assistance to these accounts may not be provided and you put yourself at risk for using a free acount. We are not responsible for any account bans.

About

Unofficial Spotify client for Android built with Jetpack Compose, Material 3 and librespot-java. Fork ahead of Tayson's original repo.

Topics

Resources

License

Stars

Watchers

Forks

Languages

  • Kotlin 85.9%
  • Java 14.1%