Skip to content

Releases: H4zh4n/Spotui

v1.4.6

Choose a tag to compare

@H4zh4n H4zh4n released this 12 Aug 12:01

🚀 Release v1.4.6

Playback Stability & Hotfixes

This is a small update focused on resolving a few playback bugs and improving the overall stability of the audio engine on some phones.

🛠 Fixes & Improvements

  • Playback Halting: Fixed an issue affecting certain devices where playback would prematurely stop at the end of a track instead of seamlessly transitioning to the next song.
  • Strict Repeat Off: Fixed a bug where the player would still loop back to the first track at the end of a queue even when repeat was set to "Off". It now properly stops playback as expected.
  • Artwork Swipe Loops: Eliminated an infinite replay loop glitch that could occur when the album art automatically swiped to the next track.
  • Play/Pause Reliability: Fixed an issue where tapping play or pause while the next song was still loading in the background could accidentally cause the previous track to start replaying.
  • Cache & Sync Accuracy: Resolved background cache collisions to ensure the correct audio stream always loads, and improved track synchronization between the app's UI and the underlying audio engine.

v1.4.5

Choose a tag to compare

@H4zh4n H4zh4n released this 07 Aug 13:02

🚀 Release v1.4.5

Provider Toggles & Hotfixes, Universal Lossless Downloads

A quick follow-up to v1.4.4! This update squashes a few bugs, expands offline capabilities, and gives you even more control over your audio sources.

💾 Universal Lossless Downloads

  • Download from Any Provider: Lossless track downloads are no longer limited to SpotiFLAC. You can now download high-quality audio directly from Amazon, Qobuz, Deezer, and SoundCloud, seamlessly matching your active provider priority.

⚙️ More Control Over Streams

  • Toggle Audio Providers: Don't want to use a specific service? You can now completely enable or disable individual audio providers using checkboxes in the "Audio Provider Priority" settings (YouTube Music remains a permanent fallback).
  • Per-Song & Global Cache Resets: Added an "Invalidate cache" option in the player menu to wipe stream and alternative caches for a single track and instantly reload it. Using the global "Clear Caches" option in Settings now also resets all alternative stream overrides, providing a clean-slate re-evaluation of all providers.

🛠 Fixes & Playback Polish

  • Seamless Crossfade UI: The player UI now stays perfectly in sync during track crossfades. Artwork, titles, and sliders won't update prematurely, and we've fixed the flickering play/pause button that could occur while tracks were blending.
  • Accurate Resolution Logs: Stream trace logs now accurately report when a track is played from your memory, disk cache, or offline downloads.
  • Swipe-to-Skip Fix: Fixed an issue where swiping the album artwork to skip tracks would occasionally get out of sync with the queue.
  • Smarter Caching & Prefetching: Resolved YouTube cache "poisoning" issues, fixed replay loops on tracks with duplicate IDs, and optimized background prefetching so it no longer unnecessarily restarts active network requests.

(Note: If you missed our massive v1.4.4 update, see the changelog below for all the new features including native Deezer support, local music import, and expanded lossless providers!)

🚀 Release v1.4.4

Expanding Lossless Providers, Deezer Integration & App Polish

Building upon our recent audio engine rewrite, this update massively expands your high-fidelity options by introducing native support for major new platforms and giving you full control over how the app fetches your audio. We've also added support for local music files and brought extensive quality-of-life UI improvements across the board.

🎧 The Expanded Lossless Ecosystem

Instead of just improving how we fetch streams, we've entirely broadened where we get them from, focusing on dedicated backends and user control.

  • Native Source Integration: We've built in native resolution for Amazon Music, Qobuz, SoundCloud, and Deezer. The engine now intelligently queries these dedicated platforms to secure the best possible high-res or lossless streams for your tracks.
  • Custom Provider Priority: Take control of your stream routing. A new settings menu allows you to rank exactly which audio providers the app should check first (for example, you can set it to attempt Tidal first, then Qobuz, and fall back to Amazon).
  • Direct Deezer Login: Full native Deezer support is here! You can now securely log into your Deezer account (via ARL) to stream pure FLAC or HQ audio directly from their servers. If you select Lossless quality without being logged in, the app will conveniently prompt you to connect.
  • Live Bitrate Parsing: See exactly what you are hearing. The player now actively parses incoming FLAC frames on-the-fly to display the true, live stream bitrate (e.g., "1411 kbps") right on your screen.
  • Resilient Playback Pipeline: Say goodbye to random pauses. A newly built resilient data pipeline seamlessly handles transient network drops. If a stream unexpectedly disconnects, it instantly recovers and reopens the connection at the exact millisecond, keeping your music playing without a hiccup.

📱 Library, Home Screen & Local Files

  • Local Music Import: You can now import your own local audio files into the app! The engine automatically reads your device folders to parse metadata and display your embedded cover art.
  • Home Screen Filtering: The home screen is now much more organized. Use the new filter pills at the top to isolate "Music," "Podcasts," or "Audiobooks," or view content exclusively from artists you follow.
  • "Latest Releases" Feed: Never miss a new drop. A dedicated feed on the home screen now tracks the newest releases from your followed artists.
  • Fast Scrollbars: Added Spotify-style fast scrollbars to all long lists (Library, Playlists, Albums, etc.). You can now drag the scrollbar thumb for rapid navigation, complete with a floating indicator showing your current position.
  • Search & Sort Everywhere: Added inline search bars and sorting options (Title, Artist, Date, Duration) to Albums, Liked Songs, History, and Podcasts, making it easier than ever to find specific tracks in large collections. In Library section too :)

⚙️ Player UI & System Integrations

  • Audio Device Switcher: View and switch between your active audio outputs (Speaker, Wired Headphones, Bluetooth) directly from a new menu on the player screen or in Settings.
  • Mini-Player Swipe Gestures: You can now swipe left or right on the Mini-Player to quickly skip tracks, complete with smooth animations and visual feedback.
  • Quality-Aware Caching: Changing your streaming quality in settings now immediately flushes stale, low-quality cached streams and hot-swaps the current track to the new quality tier without stopping playback.
  • Resolution Trace Logs: Curious why a track fell back to standard quality? Tapping the stream source badge now opens a detailed trace log showing the exact outcome of every provider attempt, which you can easily copy to your clipboard for troubleshooting.

🛠 Fixes & Stability

  • Smarter Stream Caching: Improved how the app generates cache keys for Lossless and YouTube streams. It now prioritizes precise track IDs for consistent offline mapping and securely hashes unusual YouTube URLs to prevent cache collisions and playback errors.
  • YouTube Bot Detection: Added a "Reset Session" button in settings to easily clear caches and tokens if you encounter YouTube bot detection blocks. The app automatically attempts to do this when it detects an issue, but you can now manually force a reset at any time (Tap your avatar from Home or Library > scroll down).
  • Enhanced Stability: Vastly improved track title sanitization to increase match rates across providers, and added robust timeout caching to prevent slow stream lookups from stalling playback.

💖 Support the Project

If you enjoy using the app and want to support its continued development, your contributions are greatly appreciated!
Support on Ko-fi

v1.4.4

Choose a tag to compare

@H4zh4n H4zh4n released this 06 Aug 20:40

🚀 Release v1.4.4

Expanding Lossless Providers, Deezer Integration & App Polish

Building upon our recent audio engine rewrite, this update massively expands your high-fidelity options by introducing native support for major new platforms and giving you full control over how the app fetches your audio. We've also added support for local music files and brought extensive quality-of-life UI improvements across the board.

🎧 The Expanded Lossless Ecosystem

Instead of just improving how we fetch streams, we've entirely broadened where we get them from, focusing on dedicated backends and user control.

  • Native Source Integration: We've built in native resolution for Amazon Music, Qobuz, SoundCloud, and Deezer. The engine now intelligently queries these dedicated platforms to secure the best possible high-res or lossless streams for your tracks.
  • Custom Provider Priority: Take control of your stream routing. A new settings menu allows you to rank exactly which audio providers the app should check first (for example, you can set it to attempt Tidal first, then Qobuz, and fall back to Amazon).
  • Direct Deezer Login: Full native Deezer support is here! You can now securely log into your Deezer account (via ARL) to stream pure FLAC or HQ audio directly from their servers. If you select Lossless quality without being logged in, the app will conveniently prompt you to connect.
  • Live Bitrate Parsing: See exactly what you are hearing. The player now actively parses incoming FLAC frames on-the-fly to display the true, live stream bitrate (e.g., "1411 kbps") right on your screen.
  • Resilient Playback Pipeline: Say goodbye to random pauses. A newly built resilient data pipeline seamlessly handles transient network drops. If a stream unexpectedly disconnects, it instantly recovers and reopens the connection at the exact millisecond, keeping your music playing without a hiccup.

📱 Library, Home Screen & Local Files

  • Local Music Import: You can now import your own local audio files into the app! The engine automatically reads your device folders to parse metadata and display your embedded cover art.
  • Home Screen Filtering: The home screen is now much more organized. Use the new filter pills at the top to isolate "Music," "Podcasts," or "Audiobooks," or view content exclusively from artists you follow.
  • "Latest Releases" Feed: Never miss a new drop. A dedicated feed on the home screen now tracks the newest releases from your followed artists.
  • Fast Scrollbars: Added Spotify-style fast scrollbars to all long lists (Library, Playlists, Albums, etc.). You can now drag the scrollbar thumb for rapid navigation, complete with a floating indicator showing your current position.
  • Search & Sort Everywhere: Added inline search bars and sorting options (Title, Artist, Date, Duration) to Albums, Liked Songs, History, and Podcasts, making it easier than ever to find specific tracks in large collections. In Library section too :)

⚙️ Player UI & System Integrations

  • Audio Device Switcher: View and switch between your active audio outputs (Speaker, Wired Headphones, Bluetooth) directly from a new menu on the player screen or in Settings.
  • Mini-Player Swipe Gestures: You can now swipe left or right on the Mini-Player to quickly skip tracks, complete with smooth animations and visual feedback.
  • Quality-Aware Caching: Changing your streaming quality in settings now immediately flushes stale, low-quality cached streams and hot-swaps the current track to the new quality tier without stopping playback.
  • Resolution Trace Logs: Curious why a track fell back to standard quality? Tapping the stream source badge now opens a detailed trace log showing the exact outcome of every provider attempt, which you can easily copy to your clipboard for troubleshooting.

🛠 Fixes & Stability

  • Smarter Stream Caching: Improved how the app generates cache keys for Lossless and YouTube streams. It now prioritizes precise track IDs for consistent offline mapping and securely hashes unusual YouTube URLs to prevent cache collisions and playback errors.
  • YouTube Bot Detection: Added a "Reset Session" button in settings to easily clear caches and tokens if you encounter YouTube bot detection blocks. The app automatically attempts to do this when it detects an issue, but you can now manually force a reset at any time (Tap your avatar from Home or Library > scroll down).
  • Enhanced Stability: Vastly improved track title sanitization to increase match rates across providers, and added robust timeout caching to prevent slow stream lookups from stalling playback.

💖 Support the Project

If you enjoy using the app and want to support its continued development, your contributions are greatly appreciated!
Support on Ko-fi

v1.4.3

Choose a tag to compare

@H4zh4n H4zh4n released this 30 Jul 14:46

🚀 Release v1.4.3

Lossless Engine Overhaul, Library Filters & Offline Artwork

This update brings a major rewrite to the high-fidelity audio engine, introduces powerful new ways to filter your library, adds persistent offline artwork, and refines playback stability.

🎧 High-Fidelity Audio Engine

The lossless (FLAC) streaming engine has been completely rebuilt for speed, reliability, and transparency.

  • Concurrent Search: The engine now searches up to four high-quality providers simultaneously (Tidal, Qobuz, Amazon, and newly added Deezer). It instantly plays the fastest successful stream, noticeably reducing load times.
  • Smart Fallbacks: Failures or rate limits are now handled per provider. If one service goes down, the app instantly falls back to the others without locking you out.
  • Custom Timeouts: You can now set independent lossless timeout limits for Wi-Fi, Cellular data, and Downloads directly in the Settings menu.
  • Stream Diagnostics: Curious about your audio quality? Tapping the source badge on the player screen now opens a "Stream Resolution Info" dialog, showing exactly how the audio was routed.
  • Provider Dashboard: A new inspection dialog in Settings lets you check the real-time online/offline status and cooldown timers of all lossless providers.

📚 Library Organization & Filters

Finding your favorite content and keeping your library clean is now much easier.

  • Quick Filters: Easily navigate your collection using new filter chips at the top of the Library screen. Isolate Playlists, Albums, or Artists, and use the "Downloaded" toggle to instantly view your offline content.
  • Smarter Deduplication: We rebuilt the internal logic to better identify and merge duplicate entries across your local, offline, and remote sources. Your home screen, library, and "Saved In" menus will now stay perfectly organized without redundant playlists.
  • Rename Playlists: You can now effortlessly rename your custom local playlists directly from the playlist header.

💾 Offline Experience & Artwork

  • Offline Cover Art: Artwork for downloaded songs is now securely cached to your local device storage. Cover art will seamlessly display in the app and your system media notifications, even without an internet connection.
  • Canvas Optimization: Spotify Canvas videos are automatically disabled for downloaded tracks, ensuring high-quality static artwork displays instantly when offline.

🎵 Player UI & Gestures

  • Explicit Tags: Explicit badges (🅴) are now visible across the entire app (player, mini-player, queues, and lists). The audio search engine is also smarter, accurately prioritizing the correct clean or explicit version of a track.
  • Accurate Play States: Fixed synchronization issues between the audio engine and the UI so the play button never gets stuck. Play buttons on Albums and Playlists now strictly indicate if a song from that specific list is currently playing.
  • Gesture Fixes: Resolved an issue where the swipe-to-play-next gesture could accidentally trigger multiple times during a single swipe.

🔍 App Experience & Search

  • Smoother Search: Tapping the search tab icon when you are already on the search page will now instantly focus the text box and open your keyboard. Using the system back gesture will cleanly clear your search and reset the view.
  • Fresh Branding: Updated the app's launcher icons, splash screen, and notification icons for a cleaner, modernized look with refined accent colors.
  • Status Bar Legibility: Enforced light status bar icons to ensure your device's time and battery indicators always remain visible against the dark interface.

💖 Support the Project

If you enjoy using the app and want to support its continued development, your contributions are greatly appreciated!
Support on Ko-fi

v1.4.2

Choose a tag to compare

@H4zh4n H4zh4n released this 24 Jul 01:10

🚀 Release v1.4.2

✨ Summary
This update brings major improvements to how you manage your music and interact with the app. We have introduced a brand new local playlist system, added robust support for opening Spotify links directly, and modernized the entire user interface with a sleek edge-to-edge design.

🗂️ Local Playlists & Data Backup

  • 📱 On-Device Playlists: To overcome Spotify API rate limits and restrictions, playlist creation has transitioned to a local system. You can now create, manage, and modify playlists stored entirely on your device, seamlessly integrated alongside your remote library.
  • 💾 Backup & Restore: Keep your data safe. You can now backup your local playlists, liked songs, and app preferences to your device storage, supported by automatic background backups on app launch.
  • 📴 Offline Library Upgrades: Downloaded albums and playlists now remember their original metadata. Instead of a single flat list, your offline library will display proper folder-style layouts with the correct track ordering.
  • 🔔 Download Snackbars: Replaced standard system toasts with polished, custom snackbars to notify you when tracks finish downloading.

🔗 Spotify Deep Linking

  • Direct Link Handling: The app now natively intercepts and opens standard Spotify URIs, open.spotify.com, and spotify.link URLs.
  • 🛠️ Guided Setup Flow: Added an interactive, step-by-step prompt to help Android 12+ users easily configure their system settings and set the app as the default handler for external Spotify links.

🎨 Edge-to-Edge UI & Visual Polish

  • 🖼️ Immersive Interface: Upgraded the entire app to support edge-to-edge displays. Transparent system bars and standardized spacing ensure content flows beautifully behind the navigation and player bars without cutting off.
  • 🎤 Lyrics Screen Refresh: The lyrics view features reduced shadow elevations, smoother layered gradients, rounded corners, and increased text contrast for significantly better readability.

⚙️ Stability & Navigation Improvements

  • ⏯️ Playback State Fixes: Rewrote the playback state tracker to eliminate UI flickering during rapid play/pause toggles or background buffering events.
  • 🧠 Smarter Navigation: The bottom navigation bar now intelligently remembers your active root tab. It correctly highlights your current section even when navigating deep into sub-menus, and prevents duplicate screens from cluttering your back history.

💖 Support the Project

If you enjoy using the app and want to support its continued development, your contributions are greatly appreciated.
Support on Ko-fi

v1.4.1

Choose a tag to compare

@H4zh4n H4zh4n released this 15 Jul 10:29
5a0d34f

Release v1.4.1

This update focuses heavily on improving Android Auto compatibility, exposing better media controls for third-party automation apps, and introducing a few helpful playback settings.

🚗 Android Auto & External Media Controls

  • Full Android Auto Support: Implemented a virtual queue system so your entire in-app playlist timeline now accurately projects onto the car display.
  • Car Search Queries: Added asynchronous search handling, allowing you to search for tracks and view results directly from the Android Auto interface.
  • Automation App Compatibility: Full media transport controls (like Next and Previous) are now properly exposed to automation apps like Tasker and MacroDroid, bypassing standard Android API limitations that previously blocked them.
  • Sync & Stability: Fixed synchronization issues between the app and the car display so track transitions only update when the next audio stream actually starts playing. Increased media browser timeouts to 8 seconds to prevent loading failures on slower connections.

🎵 Playback & Gestures

  • Swipe-to-Play-Next: The swipe gesture on tracks and episodes has been updated. Swiping an item now sets it to "Play next" rather than adding it to the end of your queue.
  • Auto-Play on Startup: Added a new toggle in the Settings screen. When enabled, the app will automatically resume your last played track as soon as you launch it.

📝 Update Prompt Improvements

  • Rich Media Release Notes: The in-app update prompt now renders images from release notes, including a zoomable fullscreen dialog when you tap an image.
  • Formatting Support: The prompt now parses and supports HTML anchor tags, raw HTTP/HTTPS clickable URLs, and italic text formatting.

🐛 Bug Reports & Feature Requests
Encountered a bug or have a great idea for a new feature? Our GitHub issues page is open!
Report an Issue or Request a Feature

💖 Support the Project
The support page is now live! If you enjoy using the app and want to support its continued development, your contributions are greatly appreciated.
Support on Ko-fi

v1.4.0

Choose a tag to compare

@H4zh4n H4zh4n released this 13 Jul 18:37

Release v1.4.0: Offline Lyrics Translation, Swipe-to-Queue & Playback Improvements

This update introduces offline lyrics translation, new queue management options, updated artist interactions, and playback optimizations.

🌐 Offline Lyrics Translation

Translate lyrics directly on your device without needing an internet connection.

  • Over 50 Languages: Translate your lyrics between more than 50 different languages.
  • Inline Translations: Translations appear below the original lyrics, processed securely on-device via Google ML Kit.
  • Auto-Save & Restore: Translations are saved locally. Once you translate a song, the text will automatically appear the next time you play it. Dismissing the translation clears it from memory.
  • Language Detection: Integrates Google's on-device Language Identification to detect the song's original language.
  • Floating Controls: A panel in the bottom-left of the lyrics screen lets you toggle translations, search for languages, and manage your settings.

(Note: You may notice the APK size has increased. This is due to the new on-device translation engine, which requires bundling machine learning frameworks and native libraries to process translations securely and entirely offline).

💾 Offline Lyrics & UI Updates

  • Offline Availability: Lyrics are saved to disk when you download a song, ensuring they are available offline without extra network requests.
  • Lyrics UI Gestures: Added a slide-up entrance animation and a swipe-down gesture to dismiss the lyrics screen.
  • Loading Support: Added pull-to-refresh gestures on the loading and error screens so you can retry if a fetch fails.

🎵 Swipe-to-Queue & Playlist Improvements

Managing what plays next is now faster and more intuitive.

  • Swipe-to-Queue: Swipe any song or episode across the app from left to right (in Albums, Playlists, Liked Songs, Downloads, or Search) to add it to your playback queue. A toast confirms the addition.
  • Batch Queueing: Added an "Add all to queue" button to the headers of Playlists, Albums, Shows, and Liked Songs to append the list to your queue at once.
  • Strict Repeat: When "Repeat All" is enabled, the player loops your exact queue without auto-appending radio tracks.

👤 Artist Profiles & Library Management

  • Artist Navigation: Tapping the artist name on a solo track takes you to their profile. For collaborations, tapping opens a sheet listing all contributing artists with their profile pictures, allowing you to select them individually.
  • "This Is" Playlists: Artist profiles now fetch and display their official "This Is" or "Featuring" playlists.
  • Playlist Creation: Long-press the "Like" button anywhere in the app to open the "Saved In" menu. Creating a new playlist includes a "Creating..." state, refreshes your library automatically, and includes a toggle to make the playlist Public.

⚡ Playback & Performance

  • Parallel Resolution: The player resolves lossless (FLAC) and standard (YouTube) streams simultaneously in the background. If the high-quality stream takes too long, the standard stream is already waiting to reduce loading delays.
  • Search Caching: YouTube video candidate IDs are cached on disk, speeding up subsequent track loads.
  • Live Sleep Timer Countdown: The sleep timer menu now features a real-time countdown showing how much time is left.

v1.3.8

Choose a tag to compare

@H4zh4n H4zh4n released this 12 Jul 12:59

Release v1.3.8

This release introduces a new in-app search and preview system for alternative streams, improves the fluidity of the player UI, and resolves synchronization issues between the app and media notifications.

Alternative Stream Search & Previews

  • Integrated YouTube Search: Added a dedicated search view within the player screen to find alternative versions of tracks directly from YouTube.
  • Audio Previews: Introduced the ability to preview alternative streams before selecting them. Previews use a transient player that automatically pauses the main playback queue without disrupting your current track state.
  • Rich Preview Cards: The stream editor now displays rich cards featuring the video thumbnail and a button to open the link externally.
  • Streamlined Navigation: The alternative stream editor now automatically dismisses upon selection, and pressing the back button will cleanly stop any active audio preview.

Mini Player & UI Fluidity

  • Swipe-Up Visual Feedback: The mini player now visually responds to the swipe-up gesture, following your finger with a progressive alpha fade. It includes velocity detection for quick flicks and a spring-back animation if the gesture is aborted.
  • Compact Footprint: Reduced the mini player's height by tightening internal padding and adjusting the seekbar's touch target, removing unnecessary dead space.
  • Player Sheet Scrolling Fix: Fixed a nested scroll bug where flinging upward quickly from the bottom of the player (such as from the lyrics view) would inadvertently drag and dismiss the entire player sheet.

Playback Controls & Notifications

  • Persistent Repeat Mode: The selected repeat mode (Off, All, One) is now saved to shared preferences and persists across app restarts.
  • Notification Synchronization: Fixed sync issues where the in-app play/pause and repeat states were not immediately reflected in the Android media notification.
  • Cycle Order Alignment: Aligned the repeat cycle order in the media notification to match the full-screen UI (Off → All → One → Off).
  • Iconography Adjustments: Updated the "Repeat Off" icon geometry for better visual consistency with the other control icons.

v1.3.7

Choose a tag to compare

@H4zh4n H4zh4n released this 12 Jul 02:00

Release v1.3.7

This release adds a repeat-mode button to the media notification, gates lossless streaming on live server availability, and fixes layout instability in the mini player's loading spinner and bottom navigation bar.

Features

  • Repeat Mode in Media Notification: The system notification now includes a repeat button alongside playback transport controls. Tapping it cycles through the tri-state repeat modes (Off → One → All → Off), with the button icon updating in real time to reflect the current mode.
  • Live Lossless Server Status: Lossless streaming now checks SpotiFLAC provider health via the spotbye status API before probing. If no lossless servers are up, playback falls through to YouTube immediately rather than waiting on dead endpoints. Server status is cached for 60 seconds and displayed underneath the streaming quality selector in Settings.

Fixes

  • Stabilized Loading Spinner: The mini player's play/pause button no longer jumps vertically when the resolve/buffering state toggles. The CircularProgressIndicator and play Icon are now wrapped in a fixed-size Box, preventing the indicator's internal M3 minimum size from causing the parent Row to re-measure on each state change.
  • Navigation Bar Clipping: The bottom navigation bar was partially pushed off-screen when the mini player was visible. The container height was increased from 130dp to 160dp, and the visual-only offset spacing was replaced with a proper layout Spacer so both the mini player and navigation bar render fully.
  • Redundant Clip Removal: The MiniPlayer's root Column no longer applies clipToBounds() on top of the existing .clip(RoundedCornerShape(8.dp)), eliminating unnecessary clipping that could crop text.

Drawables

  • Added ic_repeat_off (arrows with diagonal slash) and ic_repeat_one (arrows with "1" digit) for the notification repeat button states.
  • Fixed ic_repeat dimensions from 512dp to 24dp for correct notification icon sizing.

Release v1.3.6

Bug Fixes

  • Seekbar regression: The dependency upgrade changed the Material3 Slider appearance, breaking the Spotify-consistent seekbar design on both the full player and mini player. Replaced CustomSlider in PlayerScreen and AppComponents with a custom Canvas-drawn implementation: thin 3dp track, thumb dot visible only while scrubbing, and a subtle grow animation on touch. Also fixed a bug where dragging the seekbar before a track finished loading would display a giant negative timestamp instead of 0:00.

Release v1.3.5

This release introduces playback queue persistence across app restarts and updates core project dependencies.

Features

  • Persistent Playback Queue: The app now serializes and saves the full playback queue and current track index. Upon relaunching, the entire queue is restored rather than just the last active song, allowing playback to resume exactly where it left off.

Chores & Refactoring

  • SDK Bump: Updated compileSdk and targetSdk to 37.
  • Tooling Upgrades: Updated to Gradle 9.6.1, Kotlin 2.4.0, and AGP 9.2.1.
  • Build System: Migrated hardcoded dependency versions to Gradle version catalogs and refactored APK output naming to use the modern androidComponents API.
  • Warning Resolutions: Addressed Kotlin annotation target warnings (KT-73255) by specifying @param: targets in API and routing classes.
  • UI & Player Cleanup: Replaced deprecated icons with their auto-mirrored Compose equivalents and removed the deprecated setUseArtwork(false) call from the Media3 PlayerView.

v1.3.6

Choose a tag to compare

@H4zh4n H4zh4n released this 12 Jul 01:11

Release v1.3.6

Bug Fixes

  • Seekbar regression: The dependency upgrade changed the Material3 Slider appearance, breaking the Spotify-consistent seekbar design on both the full player and mini player. Replaced CustomSlider in PlayerScreen and AppComponents with a custom Canvas-drawn implementation: thin 3dp track, thumb dot visible only while scrubbing, and a subtle grow animation on touch. Also fixed a bug where dragging the seekbar before a track finished loading would display a giant negative timestamp instead of 0:00.

Release v1.3.5

This release introduces playback queue persistence across app restarts and updates core project dependencies.

Features

  • Persistent Playback Queue: The app now serializes and saves the full playback queue and current track index. Upon relaunching, the entire queue is restored rather than just the last active song, allowing playback to resume exactly where it left off.

Chores & Refactoring

  • SDK Bump: Updated compileSdk and targetSdk to 37.
  • Tooling Upgrades: Updated to Gradle 9.6.1, Kotlin 2.4.0, and AGP 9.2.1.
  • Build System: Migrated hardcoded dependency versions to Gradle version catalogs and refactored APK output naming to use the modern androidComponents API.
  • Warning Resolutions: Addressed Kotlin annotation target warnings (KT-73255) by specifying @param: targets in API and routing classes.
  • UI & Player Cleanup: Replaced deprecated icons with their auto-mirrored Compose equivalents and removed the deprecated setUseArtwork(false) call from the Media3 PlayerView.