Commit Graph
13 Commits
Author SHA1 Message Date
Seb3thehacker ac8488200d keep homemade head units without a certificate working, and read wheel buttons and the knob as main does 2026-10-21 12:30:38 -07:00
Seb3thehacker c7077f2a57 version: answer 1.7 to head units offering 4.x and 6.x too, as they accept it 2026-10-21 12:30:38 -07:00
Iscle 6efdad5e53 Validate input and correct navigation and sensor services 2026-10-21 12:30:38 -07:00
Iscle c04c35b5cd Fix protocol framing, TLS, and connection negotiation 2026-10-21 12:30:03 -07:00
Iscle 8743e992d7 Stop cleanly and ignore messages after handshake rejection 2026-10-10 23:34:39 +02:00
Seb3thehacker 23f12884da car toasts: take turns instead of replacing each other
A new toast waits until the one on screen has had 2 seconds. Repeats restart the
visible toast, and a burst keeps only the newest three waiting.
2026-10-09 15:26:48 -07:00
Seb3thehacker 179a51ea25 car toasts: match the message popup and stay up longer
A driver only glances at the screen, so short toasts now last 4 seconds and long
ones 7. The card uses the popup's colours, which read better over a map.
2026-10-09 14:24:32 -07:00
Iscle 4c2c8c6dda Show app toasts on the projected car display 2026-10-09 20:58:12 +02:00
Seb3thehacker 7d197bf021 fix silent audio on cars with an AAC sink, keep location out of logs
Cars like the 2022 Dacia Jogger list a compressed audio channel before the raw one, and Gearslip was sending raw audio to it. The Exit tile no longer shows as running, and the log leaves out the weather town and the car's GPS.
2026-10-05 01:21:16 -07:00
Seb3thehacker bc0d6302d3 fix touch on head units with a second screen
LIVI lists an empty input for its cluster display before the real touchscreen, so every
tap was ignored. Pick the video and input that belong to the main screen.
2026-10-04 14:24:06 -07:00
Seb3thehacker 024850bf48 fix car sensor channel, mark Metrolist working
Sensors live in service field 2, not 5 (that's the mic), so the channel never opened.
Message ids were also one off and the start request was missing min_update_period.
2026-10-02 15:51:15 -07:00
Seb3thehackerandClaude Sonnet 5 7e4b4d6b99 Send media audio to the car without a per-drive prompt
The head unit offers a media sink, but Android answers Setup with an
empty reply instead of a Config message. AudioLink now falls back to
the advertised sink after 2.5s. AudioCaptureService captures by audio
usage, not by app, so switching media apps costs nothing further and
one grant covers a whole drive.

A one-time adb command (PROJECT_MEDIA) removes the consent dialog
itself; the setup screen now includes it as a copyable step, next to
the existing mic-permission step.

Capture counts as a screen share, so Android 15 hides notification
contents while it runs. ScreenShareGuard lifts that protection for
the length of the capture, with a second adb grant
(WRITE_SECURE_SETTINGS), and restores it afterward, including after a
crash.

The phone keeps playing what it captures, so AudioCaptureService also
mutes STREAM_MUSIC for the drive and restores it on every exit path.

Adds a debug bench (BenchAudioSink, CarPreviewActivity --ez audio
true) for testing the audio path without a car, and a unit test that
rebuilds the real head unit's ServiceDiscoveryResponse from a logged
session to confirm the media and guidance sinks are found correctly.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-22 00:11:59 -07:00
Seb3thehacker 5b7b9499ca Gearslip: phone-side Android Auto client 2026-09-20 02:09:47 -07:00