Repository navigation
Conversation
Shows the phone's Map tab on Android Auto head units. The car draws its own MapLibre map with the user's style, the coverage overlay, the session's patched cells, heard repeaters and the position arrow. It follows heading up, with a status card for the phase countdown and counters, and a box for the noise floor and companion battery. The car is a remote for the session on the phone. It renders the Siri snapshot projection plus a map block over a new meshmapper/android_auto channel, published only while a car is connected, and every tap goes through the same admission as the phone buttons, the watch and Siri. The coverage tile URL and the map style URLs move into shared helpers so the phone map and the car map stay in step.
Contributor
|
Discord post from a few weeks ago: https://discord.com/channels/1463383723327356992/1494771314207101072/1551583779515277313 |
The status card drops the phase detail line, which changed with every phase and made the card grow and shrink. The More screen gets a back arrow, so the hardware back key is no longer the only way to the map.
This branch has not been deployed
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.
Add Android Auto support
Shows MeshMapper's Map tab on Android Auto head units, so a wardriving session can be followed and controlled from the car screen.
Relates to MeshMapper/MeshMapper_Project#411
What it does
How it works
mapblock over a newmeshmapper/android_autochannel. Snapshots are only published while a car is connected, so phones that never meet a car pay one early return per notify.ExternalSessionCommandwith a newandroidAutosource and goes throughadmitExternalSessionCommandandexecuteExternalSessionCommand, the same checks as the phone buttons, the watch and Siri. A stale car screen cannot transmit anything the phone would refuse.coverage_tile_url.dart,map_style_urls.dart) so the phone map and the car map cannot drift apart. The phone map behaves exactly as before.androidx.car.app:app:1.4.0). Details are in the new Android Auto section of DEVELOPMENT.md.Things for maintainers to decide
NAVIGATIONcategory. Play only lists real turn by turn apps there, so a public release needs either Google's approval for this use or a switch to the POI category with a host drawn map (pins only, no coverage overlay).flutter_carplay. This PR is an alternative based on currentdev: about 2,800 lines across 35 files, no new Flutter dependency, and it reuses the watch and Siri command path. Happy to combine efforts or rework this around whatever direction you prefer.How to test
adb forward tcp:5277 tcp:5277and the Desktop Head Unit, open MeshMapper on the phone, connect a companion, and open MeshMapper in the head unit.Tested on a Galaxy Z Fold6 with the Desktop Head Unit, and in a Mazda through a Play internal testing build.
Checks
flutter analyze: no issues.flutter test: all tests pass, including new tests for the bridge and the car map projection.dart formatis clean for every file this PR adds. CI's format step already fails ondevfor files this PR does not touch, so that check will show the same pre-existing failure.Screenshots
(Screenshots of the car screen: the map with the status card and battery box, the Start/Stop/Ping buttons, and the More screen.)