Merged
Conversation
- Removes commented-out `HorizontalDivider` from the lyrics search results list.
…onents
- **Dynamic Theming**:
- Introduces `GenreThemeUtils` to generate custom color schemes based on genre IDs, utilizing hue-shifting to derive secondary and tertiary colors.
- Wraps `GenreDetailScreen` in a dynamic `MaterialTheme` that reflects the current genre's color palette while preserving neutral colors for global components like bottom sheets.
- **UI & UX Improvements**:
- Refactors `GenreSortBottomSheet` with a more modern layout, replacing simple list items with expressive cards and prominent action buttons.
- Enhances `GenreCollapsibleTopBar` to interpolate content colors between vibrant and neutral tones during scroll-based collapse transitions.
- Updates `GenreSortBottomSheet` to use `skipPartiallyExpanded` and adds extra bottom padding for better accessibility on devices with navigation bars.
- **Layout & Components**:
- Adjusts list item spacing and padding within `GenreDetailScreen` to accommodate the new dynamic theme and player layout.
- Ensures bottom sheets (Sort, Song Info, Playlist) correctly utilize base theme colors to maintain visual consistency with the rest of the application.
- **Utilities**:
- Adds `shiftHue` helper to `GenreColors.kt` to facilitate color generation.
- **EnhancedSongListItem**:
- Adds a `customShape` parameter to allow external control over the item's background shape.
- Updates `surfaceShape` logic to prioritize the provided `customShape` when the song is not currently playing or loading.
- **GenreDetailScreen**:
- Refines the album song list UI by applying dynamic `RoundedCornerShape` values based on a song's position (top, middle, bottom) within the album group.
- Updates the album play button colors to use `onPrimary` for the icon and `primary` for the container for better contrast.
- Adds a bottom spacer to the album song list for improved layout spacing.
- **Artist Data & Metadata**:
- Integrates `ArtistImageRepository` into `MusicRepositoryImpl` to support artist image retrieval.
- Enhances `getArtists` to combine MediaStore song data with cached database artists, enabling the display of remote artist images.
- Implements an asynchronous prefetch mechanism in `MusicRepositoryImpl` to fetch missing artist images without blocking the UI.
- Updates `ArtistImageRepository` with a `failedFetches` cache to prevent redundant API calls for non-existent artist images and improved error handling for timeouts.
- **Theming & UI**:
- Adds a `contrastColor` utility to `GenreColors.kt` to dynamically determine the best text color (black/white) based on background luminance, improving accessibility across dynamic genre themes.
- Updates `GenreDetailScreen` to use the standard `Rounded.Menu` icon for options and cleans up `LocalContentColor` imports.
- Refines the vector path and attributes for `rounded_menu_24.xml` for better visual consistency.
- Adds `rounded_bottom_drawer_24.xml` vector resource.
- **Dependency Injection**:
- Updates `AppModule` to provide `ArtistImageRepository` to `MusicRepositoryImpl`.
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.
No description provided.