feat(ui): smooth 90Hz tab navigation, sleek circular sliders, infinite autoplay, and in-app updater - #34
Closed
fhes-tus wants to merge 1 commit into
Closed
Conversation
fhes-tus
force-pushed
the
feature/expressive-ui-and-playback
branch
from
September 5, 2026 12:08
f37df2e to
a66734a
Compare
fhes-tus
force-pushed
the
feature/expressive-ui-and-playback
branch
from
September 6, 2026 21:04
a66734a to
9faacfc
Compare
ajisth69
force-pushed
the
main
branch
6 times, most recently
from
September 7, 2026 09:54
96d57da to
d0a4f18
Compare
…ay, and in-app updater - Optimize tab transitions in MainShell with beyondViewportPageCount=1, targetPage dock tracking, and smooth springs for stutter-free 90Hz rendering - Redesign seekbar and settings sliders with sleek circular halo knobs (ExpressiveSlider) replacing vertical 38dp bars - Add YouTube-Music-style infinite autoplay engine with proactive queue refills and user toggle - Expand local music scanner to discover all device audio files with safe deletion guards - Add in-app GitHub update checker and changelog dialog in Settings
fhes-tus
force-pushed
the
feature/expressive-ui-and-playback
branch
from
September 7, 2026 20:40
afeb958 to
393c715
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Overview
This PR brings major UI fluidity, modern slider styling, and playback enhancements to LastWave:
1. Buttery-Smooth Tab Navigation & Reactive Dock (MainShell.kt)
beyondViewportPageCount = 0) and delayed pill animations.beyondViewportPageCount = 1so adjacent screen layouts stay cached in GPU composition memory.pagerState.targetPagefor instantaneous pill response on finger tap.ExpressiveMotion.smoothSpring().2. Sleek Circular Slider Thumbs (ExpressiveSlider.kt & PlayerHost.kt)
ExpressiveSlider(inui/common/) featuring capsule tracks and dynamic halo expansion on drag/press, applied across Settings (EQ gain, volume, color pickers) and Generator.3. YouTube-Music-Style Infinite Autoplay (MusicPlayer.kt)
4. Full-Device Local Music Scanner (TrackDownloadManager.kt)
Music/LastWave%, ignoring user audio in other device folders (Music/,Download/, etc.).IS_MUSIC != 0) across device storage, filtering out short audio clips (<30s).deleteDownloadedTrackonly deletes physical files that LastWave owns, keeping personal user audio untouched.READ_MEDIA_AUDIOfor Android 13+ with runtime permission checks.5. In-App GitHub Auto-Updater (AppUpdateManager.kt & SettingsScreen.kt)
Clash-Projects/LastWave-native/releases/latest.Verification
./gradlew compileDebugKotlinand./gradlew assembleDebug(0 compiler warnings/errors, all native Oboe ABIs compiled).