Skip to content

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

License

Notifications You must be signed in to change notification settings

BobbyESP/Jetispot

 
 

Repository files navigation

⚠️WARNING: Before anything else, it's important to note that Spotify seems to have shadow-banned this app. If you try to log in, you may receive an email alerting you to suspicious activity on your account, which will prompt you to change your password.

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. Read README!

Topics

Resources

License

Stars

Watchers

Forks

Languages

  • Kotlin 85.9%
  • Java 14.1%