feat: Comprehensive UI redesign, Android Auto, Stream Caching, and Performance Optimizations - #9
Open
wiwek13 wants to merge 65 commits into
Conversation
… and differential opacity
…ng Samsung One UI
…inty harmonic swells
… with distinct multi-layer harmonics
…sed wave height and straight unplayed bar
…1px sub-pixel sampling
…ove and below centerline
…iers of progressive translucency
… crisp crest highlights and elevated amplitudes
…der rolling crests
… derived from album art theme
… with illuminated baseline
…c theme and delicate frosted glass translucency
…rt to richer hue at playback position
…t->Dark, Dark->Light) across wave progress
…tegration - Implement AndroidAutoMediaSource exposing 6 root browse categories (Recents, Liked Songs, Playlists, Downloads, Top Tracks, Discover Mix) - Support voice search and query matching for Google Assistant in car dashboards - Register MediaBrowserServiceCompat in AndroidManifest with Automotive OS descriptors - Enable transport controls (play, pause, skip, seek, shuffle, repeat) and 1-tap in-car Favorite action
…astFmMiniWidget - Redesign Home screen with header profile greeting, QuickPlay grid, and dynamic recommendations - Integrate LastFmMiniWidget displaying live recent scrobble count and weekly charts - Implement subtle glassmorphism theme tokens and cohesive dark mode aesthetics - Refine Navigation graph and transitions between Home, Artist, and Album views
…ynchronized lyrics - Implement awaitEachGesture eager touch consumption in MiniPlayer seekbar for seamless tap & drag seeking - Redesign MiniPlayer with responsive album art, smooth sliding gestures, and compact layout - Enhance synchronized lyrics display with clean typography and auto-scrolling - Add unit tests validating waveform mathematics and gesture boundary calculations
… YouTube Music Liked Songs sync - Integrate official YouTube Music like/unlike endpoints in InnerTubeMusicApi for real-time Liked Music library synchronization - Redesign TrackContextMenuSheet with sleek compact bottom sheet, action grids, and quick actions - Refactor Settings screen with modernized card hierarchies, cache meters, and YouTube Music connection flows - Add unit tests for Favorites repository and YouTube Liked Songs sync verification
…d configuration - Enhance native Oboe/OpenSL C++ audio engine with low-latency ringbuffers and sinc resampling - Implement DynamicLruStreamCacheEvictor and LeastFrequentlyUsedCacheEvictor for audio stream caching - Support Vorbis/Opus metadata tagging and WebM audio extraction in TrackDownloadManager - Update build toolchains, Gradle dependencies, CI workflows, and developer skills documentation
…ke QuickPlay View all expandable
…eamlessly with bottom nav
…3x3 horizontally scrollable QuickPlay grid
…ar and seamless full-width dock
…uickPlay play badge
…order with blended frosted glass in LiquidGlass
…c quick play toggle
… margin between mini player and nav dock
…hared color palette across tabs
Combine upstream security obfuscation, Kugou lyrics provider, multi-account pool, and workflow enhancements with feature branch's UI redesign, WavySeekBar, stream caching, and Android Auto foundations.
… song radio resolver for quick play
feat: Comprehensive UI redesign, Android Auto and playback enhancements
… add low-end Performance Mode
…o debug when storeFile is not provided
… lossless streaming
…g config when custom release keystore is absent
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.
Summary
Comprehensive major feature release bringing full Android Auto & Automotive OS integration, a complete Home, Generator & Playlists UI overhaul, YouTube Music Speed Dial & Liked Songs sync, persistent Native Stream Caching, and Deep Performance Optimizations (including a dedicated Low-End Device Performance Mode, state-hoisted Wavy SeekBar, and GPU draw reductions).
Playback & UI Screenshots
Key Features & Implementations
🚗 1. Android Auto & Automotive OS Media Integration
MusicPlaybackServicewith complete Automotive OS descriptors and IPC binding support.ic_auto_favorite).🎨 2. UI Redesign & Multi-Tab Pixel Alignment
surfaceContainer,surfaceContainerHigh), typography hierarchies (labelMedium,bodyMedium,bodySmall), card corner radiuses (22.dp), item badges (52.dp/14.dpcorners), and outer container elevation across Home, Generator, and Playlists.ExpressiveHeaderwith.heightIn(min = 48.dp)across all screens to ensure zero layout shift during horizontal tab switching regardless of action icon count..background(MaterialTheme.colorScheme.background)across all tab containers to prevent gradient bleed and maintain solid Monet/AMOLED depth.⚡ 3. Quick Play & YouTube Music Speed Dial Integration
browseRoot(YT_HOME_BROWSE_ID, authenticated = true)prioritizing personalized home feed tracks, recently played, and liked songs.🎵 4. MiniPlayer & Full Screen Player Refinements
14.dprounded corners.LyricsViewwith smooth auto-scroll.FLAC 24/96,FLAC 24/48, etc.).🚀 5. Performance Optimizations & Low-End Device Mode
positionState,durationState) usingderivedStateOf.awaitEachGesturefor eager drag-to-seek without parent scroll slop competition.clipPathoperations with directdrawPath.contentTypeinLazyColumnwith lightweight numeric literals (0,1,2), significantly easing garbage collection overhead during rapid scrolls.Settings > Experimental):💾 6. Native Audio Pipeline & Stream Caching
SimpleCachewith LRU eviction and memory bounds.Walkthrough of Settings & Experimental Features
Verification & Testing
./gradlew assembleDebugand./gradlew testDebugUnitTestcompile with zero errors.MediaBrowserServiceCompattree hierarchy and playback controls via Android Auto / Automotive emulator & device IPC.