Commit Graph
55 Commits
Author SHA1 Message Date
Seb3thehacker 302dd6c344 show usage notes in dev builds too, but never send from them 2026-10-05 01:31:15 -07:00
Seb3thehacker 62fb8babad ask existing users about usage notes once 2026-10-05 01:27:49 -07:00
Seb3thehacker fe44576b06 dev builds send no usage notes 2026-10-05 01:24:49 -07:00
Seb3thehacker 355eb8bffd taller car keyboard, type from the phone, real media search
A box on the phone types into the car's text field. Media apps with library search show a list of results to pick from, searching a second after you stop typing.
2026-10-05 01:21:16 -07: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 cf0c324d80 redesign the phone app's settings
One look for every section, What's new and the setup guide at the top, and the setup guide's buttons stay on screen. Recommended apps is hidden for now.
2026-10-05 01:21:16 -07:00
Seb3thehacker 5a3bbe82a0 opt-in usage notes and a stats dashboard
Release builds ask in setup and Settings whether to send a short note when the app is opened and after each drive: the version, plus the Android version, phone model and cars people tick. Nothing runs in the background. Dev builds always send. The Cloudflare Worker in stats-worker/ stores the notes and serves a private dashboard with GitHub downloads alongside.
2026-10-05 01:21:16 -07:00
Seb3thehacker b6bd6497b2 repeat the last video frame when the screen goes still
Decoders that show a frame only once the next arrives held the last change until
something else moved, so a closing menu looked a second late on LIVI.
2026-10-04 20:10:49 -07:00
Seb3thehacker 0eeb486d88 back buttons on every screen, exit to the car's own UI, smoother link
Every screen reached from Home has a themed back button in its header. A new Exit tile
asks the car to show its own interface, as Android Auto's does. All writes to the car
now go through one thread, so reading never waits on a write; LIVI no longer stalls
for two seconds at a time. Touches go to the front of the main thread's queue.
2026-10-04 19:57:43 -07:00
Seb3thehacker 1adeb6f7e1 wait for video acks instead of dropping frames
With one frame allowed in flight (LIVI), dropped frames forced keyframe repairs, which
caused more drops. LIVI went from 345 forced keyframes a minute to none.
2026-10-04 14:35:54 -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 1341b4a08a fix LIVI not connecting
The head unit speaks first and gave up while the phone spent a second unlocking its
certificate before reading. Read straight away and unlock the certificate alongside it,
and keep it unlocked between connections.
2026-10-04 14:07:35 -07:00
Seb3thehacker c6b7f0e178 voice reply keeps listening for cancel, mic asked for in setup
The card now closes after no, cancel or no answer instead of popping back up. The
setup guide asks for the microphone even with car audio off, and its adb commands use
the installed package name. Sensor events are logged once per type plus a count.
2026-10-04 13:40:09 -07:00
Seb3thehacker d3592457cf hold marker in the theme engine, status badges on app icons
Any control with a press-and-hold action now shows it: a corner peel on Tactile and
Keycap that opens while held, a dot on Flat. Working/partial/broken badges moved onto
the app icon. Spotify and Deezer are marked partial since they need opening on the phone.
2026-10-04 13:36:11 -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
Seb3thehacker 96d16d048c reccomend apps to install during setup 2026-10-02 15:28:54 -07:00
Seb3thehacker 1b44d2d798 feature update and screenshots 2026-10-02 13:33:52 -07:00
Seb3thehacker e4725233dd Readme tagline update 2026-10-02 11:44:10 -07:00
Seb3thehacker 913e4af133 song search 2026-10-02 11:43:28 -07:00
Seb3thehacker 07d164ac74 voice reply improcement 2026-10-01 21:24:42 -07:00
Seb3thehacker 01a7ae1930 v0.1.10-alpha v0.1.10-alpha v0.1.10-test 2026-10-01 20:48:10 -07:00
Seb3thehacker c52a6c32b7 screen size auto negotiation 2026-10-01 20:43:26 -07:00
Seb3thehacker f21df41506 audi 32 to 64 bit fix 2026-10-01 20:37:04 -07:00
Seb3thehacker ff8a6a4cff app organization and movement options 2026-10-01 20:34:35 -07:00
Seb3thehacker a2d9ed7008 maps UI tweaks 2026-10-01 20:17:44 -07:00
Seb3thehacker 3994c9bd2e new supported apps, redesign UI for apps not fully supported 2026-10-01 14:28:44 -07:00
Seb3thehacker 4e4a246a51 voice prompt timer fixed 2026-10-01 12:55:40 -07:00
Seb3thehacker ebd0ba4add map screen wont rebuild on each app/page switch 2026-10-01 12:35:49 -07:00
Seb3thehacker 42785ce6be Merge pull request #8 from Brian5647/fix-map-freeze
fix the drawing after coming back from the media menu to navigation app
2026-10-01 12:19:40 -07:00
Seb3thehacker db205919c8 Point contributors at the experimental branch 2026-10-01 11:42:32 -07:00
Seb3thehacker f452099926 docs updates for developers 2026-10-01 11:33:27 -07:00
Seb3thehacker 03b74b1150 issue templates, doc updates 2026-10-01 11:20:14 -07:00
Brian5647 fbaeb0cc57 This is to fix the drawing after coming back from the media menu to the navigtion app. For organic maps the change from yesterday was fine. For flitsmeister it freezes the screen. 2026-10-01 19:03:45 +02:00
Seb3thehacker 5f557a5973 changelog update v0.1.0-alpha 2026-10-01 00:45:09 -07:00
Seb3thehacker 86edc42b98 ok real final commit 2026-10-01 00:35:10 -07:00
Seb3thehacker 68f9bf35a1 Final tweaks for Gearslip v0.1.0 2026-10-01 00:34:53 -07:00
Seb3thehacker e314aa8546 Voice replies, on-device speech, message cards and 0.1.0-alpha
Gearslip now reads messages aloud and takes replies by voice. It asks
whether to reply, reads the reply back and sends it after a countdown.
Say "cancel" or "change it" to stop or redo it, or tap a quick reply.

Speech-to-text runs on the phone with whisper.cpp and a small Whisper
model, so voice works without Google services. The model ships in the
repo, so a fresh clone builds with nothing to download.

New messages show as one card at the top right, with a bar counting
down to when it closes or sends.

Other changes:
- Steering wheel buttons, knobs and D-pads drive the car screen.
- Smoother car audio: chunks wait for the car instead of dropping.
- Sharper, more responsive video.
- The Gearslip switch in Settings now stops it taking the USB
  connection.
- Apps that refuse Gearslip say so instead of loading forever.
- The phone asks for notification permission.
- The home screen stays upright.
- The car screen shows what's new after an update.
2026-10-01 00:03:53 -07:00
Seb3thehacker 1b2010f939 car rejection leason logging 2026-09-30 13:28:29 -07:00
Seb3thehacker f25eafcc48 Keep the map loaded behind other screens
Leaving Home used to tear down the map's surface, so coming back showed black for a second or two while the nav app redrew. Home now stays composed under every other screen.
2026-09-30 13:17:37 -07:00
Seb3thehacker 473c12ad8f Merge branch 'pr-5' into try-pr-5
Fix map loading by drawing a virtual display.
2026-09-30 13:04:16 -07:00
Seb3thehacker 89b8157eb9 Messaging screen, units setting, turn pill, messaging app support 2026-09-30 13:03:55 -07:00
Brian5647 304c1de3bc Update CarAppStage.kt 2026-09-30 20:34:12 +02:00
Brian5647andClaude Opus 5.5 6156da4b67 Keep car apps online in the background and fix surface resizes
Car apps are now bound as a foreground service, so they keep network access when Gearslip isn't the top app on the phone. Before, an app bound in the background could lose network under Doze: its map and GPS kept working while search and routing went dead.

The app surface is also recreated whenever the map area changes size, the way Android Auto does it, instead of being resized in place. Apps that draw through their own VirtualDisplay rebuild it on the reused surface, and the old display's teardown then cuts the new one off, freezing the map for good. Found with Flitsmeister after picking a route.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 20:29:58 +02:00
Seb3thehacker ae7c3ec308 Voice assistant, vehicle data, and template rendering fixes
Push-to-talk voice control, gated behind experimental settings alongside a new raw vehicle sensor screen. Spotify now shows as partial instead of working since its browse tile rejects Gearslip as a host. Fixed a gap where a live nav app couldn't take a fresh destination without a full reconnect.
2026-09-29 18:07:48 -07:00
Seb3thehacker e7f0aef43d LIVI supported 2026-09-28 15:09:51 -07:00
Seb3thehacker 97c6a26f61 update readme 2026-09-28 01:09:33 -07:00
Seb3thehacker 5f9701ccff Release 0.0.05-alpha: guided setup, downloadable certificate, car phone app, media rework
- First run now asks for permissions one at a time, each on its own screen with an Allow or
  Skip, instead of firing every system dialog at once from a cold start
- The head unit certificate can be downloaded straight from the opencardev/aasdk repository
  with one tap, on top of the existing adb-staged and file-import paths; Settings shows which
  source is active and lets an imported or downloaded certificate be removed
- A phone app on the car screen: a keypad and a searchable contacts list, with a confirmation
  card before every call
- The web browser draws its own on-screen keyboard for a page's text fields, so a search box or
  address bar can be typed into from the car screen
- Media player rework: a dedicated Now Playing tab with a bigger, screen-size-aware layout, an
  Up Next tab showing the app's real queue, and Browse/Lyrics tabs that share the same rail
- Waze and Google Messages are marked broken instead of pretending to work; Google's own dialer,
  Assistant, and Android Auto entries are hidden from the car launcher entirely; Aardvark and
  Vivi Music are marked tested and working
- A help screen replaces the old wall of setup text on the home screen
- The display-calibration screen is gone - it did its job
v0.0.05-alpha
2026-09-26 16:53:28 -07:00
Seb3thehacker 043dc11251 Add phone call handling on the car screen
Incoming calls now show the caller (name via contacts, else number) on
the car UI with answer/decline, using a call screening service so the
car sees a call before it rings. Also adds pinnable nav bar shortcuts,
lowers minSdk to 31 for wider device support, and bumps to 0.0.04-pre.
2026-09-26 11:43:09 -07:00
Seb3thehackerandClaude Sonnet 5 48be745659 README: explain the screen-share indicator for audio
Gearslip captures playback, not the screen, but Android's consent
dialog and persistent indicator look identical either way. Note why
the indicator appears, and correct the adjacent no-adb claim to
mention the two optional audio commands as the sole exception.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
0.0.04-pre
2026-09-22 00:18:39 -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