Commit Graph
483 Commits
Author SHA1 Message Date
Seb3thehacker bc22691f81 Map apps keep their speedometer clear of the nav bar and the map buttons 2026-11-06 12:04:28 -08:00
Seb3thehacker 2d3de20682 Faded map buttons press on the first tap instead of only waking up 2026-11-06 12:04:28 -08:00
Seb3thehacker 6d32fe2bd3 App screens drop the back button when it would only lead to Home or the app grid, which the nav bar already does 2026-11-06 12:04:28 -08:00
Seb3thehacker be92ff0b3d Car apps opened from the launcher show no back arrow on their first screen, where the close button already is 2026-11-06 12:04:28 -08:00
Seb3thehacker dd6dd742b5 A countdown button's label stays readable before the fill reaches it, like Vela's Start 2026-11-06 12:04:28 -08:00
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
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 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 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 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 dce8ae9041 0.3.39-alpha: version and release notes 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
Seb3thehacker d42bc0d00a Gearslip pings the car once a second, as Android Auto does
Either side of the link may ping, and a real phone does. A 2021 Bolt
hangs up 25 seconds into every drive even with its own pings answered
and GM's channel open (#18), which leaves the phone's pings as the one
thing Android Auto sends that Gearslip didn't.
2026-11-04 13:41:42 -08:00
Seb3thehacker c33875c8f8 A still car screen gets a fresh frame every second
A surface encoder only makes a frame when the screen changes, and the
repeat-last-frame setting should cover a still one. On a Pixel 10 it
didn't: a LuChi box got 11 frames, then nothing, and stayed black
(#58). When the encoder has been quiet for a second, Gearslip now
draws its screen again, which is a new frame for the car.
2026-11-04 13:37:36 -08:00
Théo c07d73cc92 Show the alias the driver gave a paired Bluetooth device
The car list and the wireless status messages read the device's own name,
so a device renamed in Android's Bluetooth settings still showed its old
name. Prefer the alias, and sort the list by the name it shows.
2026-11-04 21:05:39 +01:00