-
Notifications
You must be signed in to change notification settings - Fork 16
The big UX/UI overhaul #55
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
Major changes: - Room database for offline support - Onboarding wizard for first-run - Download system with WorkManager - Foldable device support (Z Fold, table-top mode) - Settings split into focused managers - Now playing redesign with adaptive layouts - Album sorting with persistence - Smart text sorting (handles leading quotes, articles) - Material 3 Expressive updates - Dark mode fixes - Various bug fixes
- Add preserveStateOnExit flag to track when state should be preserved - Update handlePauseOrCancel to return boolean (true=pause, false=cancel) - Update syncAlbumsWithProgress, syncSongsWithProgress, cacheArtworks to return pause state - Ensure finally block always resets state on error/cancel, only preserves on pause
- Implement queue windowing in SongHelper to limit MediaController queue to 200 items - Fix MusicService to use windowed items instead of full tracklist - Optimize SongCard to not create ViewModels/settings managers per-item - Move settings reading to parent component (SongLazyLists) - Disable per-item palette extraction for list performance
Downloads: - Add dedicated Downloads screen accessible from Settings - Make download indicator draggable and position at top-right - Show download percentage on indicator - Fix WorkManager foreground service type for Android 14+ Battery Optimization: - Add battery optimization detection and prompt dialog - Request exemption to prevent background playback stopping - Add REQUEST_IGNORE_BATTERY_OPTIMIZATIONS permission Settings fixes: - Fix username not saving when changed in Appearance settings - Use applicationContext consistently across all settings dialogs - Dialog now waits for save to complete before closing Navigation: - Add S_Downloads screen route - Add Downloads button to Settings screen
Media3 IPC truncates large MediaItem lists due to Binder buffer limits. Changed approach: SongHelper sends only 1 starting item through IPC, MusicService rebuilds the full 50-item window from shared state (SongHelper.currentTracklist). This preserves all metadata including navidromeID extras that were being stripped during IPC serialization.
Use rememberSaveable for scroll state so position is retained when navigating away and back to the home screen.
- Add generated artwork support to AlbumHeader in album details screen - Add artwork settings to HorizontalSongCard in album song lists - Fix greeting messages not rotating after setting custom name - Generate bitmap artwork for Bluetooth/notification metadata when needed - Create GeneratedArtworkBitmap utility for non-Compose artwork generation
|
I'm sorry, not the author or a contributor, but this is unreviewable, unmaintainable and probably untested. And clearly vibe coded. Do you expect for a few men to go through 17k lines of code and understand it all in one go? Otherwise, who's going to maintain this? OP has a habit of opening pr's on a bunch of projects, does he intend to also maintain them? If no - I suggest not to post the PR's, this is not helpful, despite seeming so. |
Major changes:
173 files changed, 20931 insertions, 2416 deletions