Skip to content

Conversation

@wowitsjack
Copy link

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

173 files changed, 20931 insertions, 2416 deletions

wowitsjack added 7 commits January 2, 2026 19:03
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
@0xfluxx
Copy link

0xfluxx commented Jan 27, 2026

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants