From 57803988d409d5e8e724dc05f97060c86660a404 Mon Sep 17 00:00:00 2001 From: Seb3thehacker Date: Mon, 26 Oct 2026 23:44:53 -0700 Subject: [PATCH] car: Waze gets the cards taken out of its stable area too, and the areas each app is given go in the log --- .../main/java/app/seb3thehacker/gearslip/car/CarAppStage.kt | 4 +++- .../java/app/seb3thehacker/gearslip/host/CarAppConnection.kt | 1 + 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/gearslip/src/main/java/app/seb3thehacker/gearslip/car/CarAppStage.kt b/gearslip/src/main/java/app/seb3thehacker/gearslip/car/CarAppStage.kt index 00c3b4e..5b60467 100644 --- a/gearslip/src/main/java/app/seb3thehacker/gearslip/car/CarAppStage.kt +++ b/gearslip/src/main/java/app/seb3thehacker/gearslip/car/CarAppStage.kt @@ -134,7 +134,9 @@ private fun AppSurface( LaunchedEffect(template, size, measured, measuredStable, cardsAtEnd) { if (width > 0 && height > 0) { val visible = visibleAreaFor(template, width, height, measured, cardsAtEnd) - val stable = if (!isContentTemplate(template)) { + // Waze seems to centre its car in the stable area rather than the visible one, so it + // gets the cards taken out of that too. Test: see whether its car moves out from under them. + val stable = if (!isContentTemplate(template) && connection.appPackage != "com.waze") { visibleAreaFor(template, width, height, measuredStable, cardsAtEnd) } else { visible diff --git a/gearslip/src/main/java/app/seb3thehacker/gearslip/host/CarAppConnection.kt b/gearslip/src/main/java/app/seb3thehacker/gearslip/host/CarAppConnection.kt index 24d0637..6c81524 100644 --- a/gearslip/src/main/java/app/seb3thehacker/gearslip/host/CarAppConnection.kt +++ b/gearslip/src/main/java/app/seb3thehacker/gearslip/host/CarAppConnection.kt @@ -600,6 +600,7 @@ class CarAppConnection(private val context: Context) { fun reportAreas(visible: Rect, stable: Rect) { areas = visible to stable val callback = surfaceCallback ?: return + GearslipLog.i("host: areas for $appPackage: visible=${visible.toShortString()} stable=${stable.toShortString()}") runCatching { callback.onStableAreaChanged(stable, noop("onStableAreaChanged")) } runCatching { callback.onVisibleAreaChanged(visible, noop("onVisibleAreaChanged")) } }