Commit Graph
545 Commits
Author SHA1 Message Date
Seb3thehacker 5d0a924c6c The voice prompt sits on a darker backdrop and suggests what to say until you start talking 2026-11-06 12:04:28 -08:00
Seb3thehacker 542dd6751f Today's weather card shows the next few hours beside the weather now 2026-11-06 12:04:28 -08:00
Seb3thehacker 59a2d38480 Every shipped language has every string again, Romanian included, for Weblate to review 2026-11-06 12:04:28 -08:00
Seb3thehacker 2a692cda84 Danish and Estonian wait on Weblate until they're mostly translated, so the app never comes up half in English 2026-11-06 12:04:28 -08:00
Seb3thehacker cb1e6cd19d Phone in the car opens on recent calls, with missed calls marked, like Android Auto 2026-11-06 12:04:28 -08:00
Seb3thehacker 564bf005c7 Notification access asks calmly in the car and points to the phone for when you're parked 2026-11-06 12:04:28 -08:00
Seb3thehacker 62facda5d9 Media apps keep their own name on the player, NewPipe and TIDAL included 2026-11-06 12:04:28 -08:00
Seb3thehacker afd05ad8c0 Car settings match the phone's: voice settings under Sound and voice, switches for on and off, screen fixes together under Screen, and one lyrics setup for everyone 2026-11-06 12:04:28 -08:00
Seb3thehacker ef5365b9ed Back in the car preview steps back in the car screens instead of closing the preview 2026-11-06 12:04:28 -08:00
Seb3thehacker cec98fcde6 Opening a media app that can't connect no longer drops the music you were listening to 2026-11-06 12:04:28 -08:00
Seb3thehacker 6ec0325f7d Turn arrows change with each step again for map apps that draw their own 2026-11-06 12:04:28 -08:00
Seb3thehacker 7719a5fff2 Merge pull request #88 from davideresigotti/honda-civic-capture-stop
Stop the audio capture and screen sharing when the car leaves
2026-11-06 12:03:12 -08:00
Seb3thehacker 2934ce2684 Merge pull request #87 from davideresigotti/honda-civic-audio-chunks
Honda Civic: send bigger audio chunks to a car that acks slowly
2026-11-06 12:02:53 -08:00
Seb3thehacker f0871eb4b1 Merge pull request #86 from davideresigotti/honda-civic-screen
Honda Civic: tell the car which phone this is, so it gives up its screen
2026-11-06 12:02:25 -08:00
Davide-Resigotti 18a655e990 Screen sharing stops when the car leaves
Nothing stopped the audio capture once the drive was over: CarAudio.release() only ran when
the activity went away, and through a wireless dongle it stays open, so the phone kept sharing
its screen and stayed muted (issue #43). A wireless session that drops also never closed the
music channel, since nothing calls stop() until the next session. run() now closes it, and
when the music channel closes the capture stops unless a car comes back within 3 seconds.
2026-11-06 14:09:20 +01:00
Davide-Resigotti 617b91ef23 Music reaches a car that acks slowly in chunks as long as its gap
The 2020 Civic (issue #43) acks one audio chunk every 45 to 85 ms whatever it holds, so the
21 ms chunks Gearslip sends reached it at a quarter to half of real time: a second of music,
then silence. While the window is full, AudioLink now measures the car's gap between acks, and
when it's well over what a chunk holds, gathers the capture into chunks that last the gap,
rounded up to a power of two in frames. The Civic gets 4096 frames. A car that keeps up never
fills the window and gets the capture as it comes.
2026-11-06 14:08:39 +01:00
Davide-Resigotti 73ffa7925e A car that keeps its screen until it knows the phone hears its Bluetooth address
The 2020 Civic (issue #43) answers every request for its screen with its own, and waits to
hear which phone is connected over the car's Bluetooth channel. Gearslip never told it:
CarBluetooth was only set up once the car screen drew, so on a car that never shows it the
typed address never left the phone. It's now set up when Gearslip starts.

Once the car hears the address it sends Play while still on its own screen, and reaching for
the media app before the car UI exists ended the session; such keys are now logged and ignored.
The second request for the screen now runs whether or not the media channel is open, and a car
that keeps its screen gets the Bluetooth channel opened, and pairing started, as a real phone
does. When the car answers there, it is asked for its screen again.
2026-11-06 14:08:06 +01:00
Seb3thehacker c389c1c586 One navigation card: turn, lanes, a clearer next turn and the trip, with the app's own stop button when it has one 2026-11-05 16:44:22 -08:00
Seb3thehacker 5d1d2337f0 Lane guidance draws the road ahead, with the lanes to use filled in and said in words 2026-11-05 16:21:36 -08:00
Seb3thehacker 163e206715 The cockpit shows the navigation app's own map beside the turn card, for apps with a cluster session 2026-11-05 14:46:50 -08:00
Seb3thehacker 2a14c780fa Bug and car reports ask for the Gearslip version 2026-11-05 14:42:30 -08:00
Seb3thehacker 99407dfcb2 The cockpit turn card stays clear of the car's own dials and bars 2026-11-05 14:09:42 -08:00
Seb3thehacker 31d8232978 Stable updates install by themselves on Wi-Fi when no car is connected 2026-11-05 12:56:39 -08:00
Seb3thehacker 9d6d18bc47 Help says to connect Bluetooth before the cable when car music won't connect 2026-11-05 12:45:27 -08:00
Seb3thehacker 20cab97a55 Gearslip installs on 32-bit ARM and x86_64 phones too 2026-11-05 12:41:56 -08:00
Seb3thehacker e8025113e9 Video starts over when the car changes its screen layout mid-stream 2026-11-05 12:23:13 -08:00
Seb3thehacker 585b50ac72 Cars that turn Bluetooth music off get it through Gearslip, and Spotify's silence is explained
A Skoda, a VW, an Audi and a Bolt all dropped the phone's Bluetooth audio once Android Auto was
up. If Bluetooth audio to the car was connected when it showed Gearslip and drops after, that
car's music goes through Gearslip from then on, remembered per car, and the car screen says so.
Picking Bluetooth by hand clears what was learned. When capture stays silent while Spotify
plays, the car screen says Spotify doesn't let its sound be passed on.
2026-11-05 03:08:20 -08:00
Seb3thehacker 3e2c087483 The cluster screen goes back to the car when there's no route
Gearslip took an Audi's virtual cockpit and showed black there with nothing to navigate,
instead of the car's own map (#56). It now asks for the cluster when a route starts and hands
it back once there has been none for 10 seconds.
2026-11-05 02:55:26 -08:00
Seb3thehacker a186b0c7d0 Wireless connects again when the car asks again before it has spoken
A Bolt opened the TCP connection but never sent its first message, then sent a new
StartRequest over Bluetooth. Gearslip kept waiting on the dead connection for 88 seconds. Now a
repeat StartRequest while the session still waits for the car opens a fresh connection. A
session already under way is left alone.
2026-11-05 02:43:52 -08:00
Seb3thehacker e9aa6debb6 A paired car that doesn't know the phone's address gets it asked for on the phone
The Bolt in #18 stayed connected only once Gearslip passed it the phone's Bluetooth address,
which was hidden in Settings. After a paired car connects without it, Home asks once per car
and opens About phone. Coming back, Gearslip offers the address it finds on the clipboard. The
car screen says once to finish a step on the phone when parked.
2026-11-04 23:53:06 -08:00
Seb3thehacker 12baaca79a Settings and setup link to the privacy policy
The usage notes card, which setup and Settings share, ends with it, and Settings' About links
list it under the source code.
2026-11-04 23:21:43 -08:00
Seb3thehacker 8693e35873 README: the badge sits under the screenshot 2026-11-04 23:15:23 -08:00
Seb3thehacker bd189fea38 Weblate's own pull requests pass the translations check
The check fails any pull request that edits a translation, which included Weblate's when it
opens one instead of pushing.
2026-11-04 23:14:37 -08:00
Seb3thehacker 6c9ff6edd2 README leads with the car screen and a table of what works
The screenshot of Vela navigating comes first, then one warning and a short table. Install
steps, the GrapheneOS note and the download check sit together, and the longer notes move
lower.
2026-11-04 23:00:38 -08:00
Seb3thehacker 554bb4922f The knob zooms and pans a full-screen map, and starts on the last app in the grid
As in Android Auto, turning zooms the map, nudging pans it, and pressing brings up its buttons
for the knob to move between; Back puts them away. A card over the map with buttons of its own
keeps the knob. On the Apps screen the first knob move lands on the app opened last. Issue #74:
a Mazda 3 driver had to turn through every button to get anywhere.
2026-11-04 22:59:22 -08:00
Seb3thehacker 4ac389d2fd 0.3.40-alpha: version and release notes v0.3.40-alpha 2026-11-04 22:32:56 -08:00
Seb3thehacker 95fddf5a55 GM cars also get their Bluetooth and Wi-Fi projection channels opened
The 2021 Bolt still hangs up about 20 seconds in with pings answered and GM's channel open.
These are the two channels it offers that Gearslip had never opened. What arrives on them is
logged. Without an address typed in Settings, no PairingRequest is sent.
2026-11-04 22:27:21 -08:00
Seb3thehacker 206dd67d98 Music started again after the car left is paused again
Deezer sometimes carried on out of the phone's speaker after the car was turned off. Apps that
are buffering are paused too, and two seconds later any that started by themselves are paused
again.
2026-11-04 22:15:39 -08:00
Seb3thehacker 817b413eb1 A car that keeps its screen is asked again with the display's channel named
The 2017 Pilot (protocol 1.0) never answered the request for its screen, even once the media
channel was open. The deprecated display field is what the 2018 Uconnect needed to give its
screen back, so the retry sends it too. The retry now also runs on cars with no media channel.
2026-11-04 22:15:39 -08:00
Seb3thehacker 03f27c4dda An app's own like button lights the whole button when liked, like shuffle and repeat
Metrolist swaps ic_heart_outline for ic_heart and keeps the name, so only the heart filled
in. A plain icon that has an outline twin in the app now counts as on.
2026-11-04 22:02:38 -08:00
Seb3thehacker 42b151034a README: Waze works on the car screen 2026-11-04 20:39:38 -08:00
Seb3thehacker 7a774b4091 README covers launcher mode, phone map turns, hidden apps, density and languages 2026-11-04 20:36:24 -08:00
Seb3thehacker 2b8b221d1b A pull request that edits a translation fails, pointing to Weblate
Translated strings are Weblate's alone. A PR that changed them collided
with Weblate's copy, and Weblate locked itself until it was reset.
2026-11-04 20:28:31 -08:00
Seb3thehacker dce8ae9041 0.3.39-alpha: version and release notes v0.3.39-alpha 2026-11-04 20:25:20 -08:00
Seb3thehacker 7c6f36cdbb Merge Weblate's German, Romanian and Estonian updates 2026-11-04 20:12:55 -08:00
Seb3thehacker 71d8af5128 Merge #63: a display density setting for car apps
# Conflicts:
#	gearslip/src/main/java/app/seb3thehacker/gearslip/ui/CarPreviewScreen.kt
2026-11-04 14:09:14 -08:00
Seb3thehacker 4172cf1a0a Merge #64: choose which apps the car's drawer shows 2026-11-04 14:08:25 -08:00
Seb3thehacker bcd9a87174 The car can learn which paired phone is on the cable
A VW MIB2 drops an already paired phone's Bluetooth when Gearslip
connects over USB, because nothing tells it the two are the same phone
(#28). Android Auto says so on the car's Bluetooth channel with the
phone's address, which Android hides from apps. Settings now takes the
address typed in by hand; with it, Gearslip opens that channel on every
connection to a paired car and sends the address. Without it, nothing
changes.
2026-11-04 13:54:02 -08:00
Seb3thehacker fed735b5a2 Spoken directions can go over the music channel
A 2025 Nissan's Bosch unit drops the link a second after every turn
on its directions channel while its music channel is open, and it
plays music through nothing else (#35). A new car setting, off by
default, leaves the directions channel alone: each turn is mixed into
the music with the music turned down under it, or, when nothing is
playing, goes out on the music channel on its own under ducking focus.
2026-11-04 13:51:51 -08:00
Seb3thehacker 97555396c0 Spoken directions use a voice in Gearslip's language
The turns are worded in Gearslip's language, but the speech engine read
them with its default voice, which may speak another one (#70).
2026-11-04 13:43:25 -08:00