Carplay Homescreen and Now Playing Updates - #1713
Open
APIUM wants to merge 8 commits into
Open
Conversation
- Point flutter_carplay at our fork (upstream v1.6.3 plus Now Playing buttons, sfsymbol, and a shuffle state shim) - Drop sectionIndexEnabled from the Home template, the only 1.2.11 to 1.6.3 API break (param moved to CPListSection) - Hide favourite and mix while offline or without a current track Closes finamp-app#1588
- Fetch through the same home screen path as the main UI - Show a collage of covers from each queue's next albums, falling back to the current track's artwork then a placeholder so tap indices stay aligned - Hide the row when there is no queue history
Replace the Recently Added list rows with a single art row of album covers, matching the Recent Queues presentation. The fetch limit rises from 3 to 6 albums to fill the wider row, clamped to the runtime image limit.
Finamp would lose last-playing status to other applications such as Apple Podcasts even when it was the last playing application. Set that it was last playing in more spots and handle play requests earlier in app lifecycle.
- Render icon font glyphs to cached PNGs so CarPlay buttons can show the same Tabler icons as the main UI - Use the main UI's radio, heart, and playback order glyphs for the mix, favourite, and shuffle buttons, with SF Symbols fallbacks - Replace the native shuffle button with an image button so the icon matches the main UI's linear and shuffled states
Show Recently Added, then Recently Played, then Recent Queues below the quick actions, and reuse the main UI home's Shuffle Tracks and Surprise Me translation strings for the quick actions.
- audio_service now sets MPNowPlayingInfoCenter.playbackState on iOS, merged upstream via ryanheise/audio_service#1140 (0.18.20) - Rebase the audio_service fork onto the latest upstream, dropping our copy of that fix and keeping the command registration and iosKeepNowPlayingOnStop commits - Remove the playback_state method channel and its Dart caller Closes finamp-app#1590
Albums and queues without artwork showed a bare SF symbol, which CarPlay renders as a tiny glyph in the corner of the tile. Render the main UI's album glyph placeholder onto a card coloured tile instead.
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.
Changes
Updates to Carplay including:
<img width="800" height="480" alt="finamp-home-imagerow" src="https://github.com/user-attachments/assets/5d3594ba-49aa-4a3a

-bb4c-81ea7e5d122c" />
Todo before merging
I've forked audio_service and flutter_carplay and moved them into finamp org. I will try to get these changes upstreamed but they are OK where they are for now while that occurs until the next update.
Related Issues