Music plays through Gearslip's player from the app's playback session, pressing its Play key when
it isn't running; messages show from its notifications. Added apps can be removed from the Apps card.
Bookmarks are added from the star in the car, from the phone's settings, or by sharing a page to
Gearslip from any browser. Ads and trackers are blocked with EasyList and EasyPrivacy, or any list
added by its address, refreshed weekly on Wi-Fi, and YouTube's video ads are skipped.
A wireless reconnect takes longer than 3 seconds, which had the driver asked to share the screen
again mid-drive. Cars that wait for a tap on their icon no longer get the address card every drive.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.