Merged
Conversation
…estures, and improved navigation.
- **Lyrics & Immersive Mode**:
- Introduces an "Immersive Lyrics" mode that automatically hides UI controls and scales text size for a focused viewing experience.
- Adds a configurable auto-hide timeout (3s to 6s) in Settings.
- Implements `LyricsFloatingToolbar` to centralize navigation, lyrics mode switching (Synced vs. Static), and advanced options like temporary immersive disablement.
- Adds `LyricsSyncControls` to provide granular timing adjustments (-0.5s to +0.5s) for synced lyrics.
- Integrates a track info header (title, artist, and album art) directly into the `LyricsSheet`.
- **Gestures & Navigation**:
- Implements horizontal swipe gestures on the lyrics sheet to skip tracks, including a visual feedback overlay with haptic response.
- Adds a "Show Controls" button that appears when the interface is in immersive mode.
- **UI & Styling**:
- Replaces the standard lyrics slider with `WavySliderExpressive` for a more dynamic seek bar.
- Refactors `ToggleSegmentButton` into a standalone component for consistent mode switching.
- Updates `PlayerSeekBar` to use a more expressive wavy stroke and improved layout alignment.
- **Data & Preferences**:
- Adds `immersive_lyrics_enabled` and `immersive_lyrics_timeout` keys to `UserPreferencesRepository`.
- Updates `SettingsViewModel` and `PlayerViewModel` to expose and manage these new immersive lyrics preferences.
- Adds an "Immersive Lyrics" section to the Personalization settings screen.
- **Components**:
- Refactors `LyricsSheet.kt` to move track metadata and sync controls into specialized sub-components (`LyricsTrackInfo`, `LyricsSyncControls`).
- Optimizes `SyncedLyricsList` with better padding management and smoother scrolling.
- **Lyrics Sheet Improvements**:
- Updates `LyricsTrackInfo` with a new `CircleShape` background, dynamic content sizing, and integrated `PlayingEqIcon`.
- Adjusts track info positioning to `TopStart` and replaces auto-scrolling text with ellipsis-truncated standard text for better legibility in the header.
- Refines playback control sizes and visual feedback, including updated play/pause icon dimensions and progress indicator colors.
- Updates side-swipe overlay shapes to use a more pronounced asymmetrical corner radius (360.dp vs 8.dp).
- Reduces the height of the top gradient overlay from 180.dp to 130.dp.
- **Lyrics Toolbar & Controls**:
- Replaces icon-based toggle buttons in `LyricsFloatingToolbar` with text labels ("Synced" and "Static").
- Reorganizes the toolbar overflow menu, moving "Save lyrics" and "Reset imported lyrics" to the top and adding a visual divider.
- Adds a custom styled `Switch` for temporary immersive mode disabling.
- Slightly increases the height of `LyricsSyncControls` for better touch targets.
- **UI Components**:
- Adds a new text-based overload for `ToggleSegmentButton`.
- Cleans up `LibraryScreen.kt` by removing unused commented-out navigation pill code.
- **Miscellaneous**:
- Simplifies type references for `Song` in `LyricsSheet.kt`.
- Removes commented-out `HorizontalDivider` from the lyrics search results list.
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.
Redesigned LyricsSheet and added new features