Repository navigation
fix(android-auto): remove fullScreenIntent from ringing notification - #9
Conversation
This prevents the generic "unlock screen" prompt on car head units. The existing TimerCarScreen.ringingTemplate() with large red STOP button is now the primary UX when connected to Android Auto. Fixes #8
Code Review Roast 🔥Verdict: 1 Issue Found | Recommendation: Address before merge Overview
Issue Details (click to expand)
🏆 Best part: The Notifier simplification is legitimately clean. Removing the CarAppExtender + fullScreenIntent baggage kills the "unlock the phone screen" UX footgun on the head unit. Oh wait, this part is actually good — I need to sit down. 💀 Worst part: The doc/manifest category mismatch. One of them is wrong, and since manifests win at install time, the README is the one telling stories. 📊 Overall: Like a first pancake — the shape is wrong in the docs but the core ingredients (the notification refactor) are there. Files Reviewed (2 files)
Reviewed by grok-build-0.1-20260520 · 457,152 tokens |
| This app is **not Play-ready** out of the box: | ||
|
|
||
| - The `CarAppService` declares `androidx.car.app.category.POI`. POI is the least-wrong of the AA-allowed categories (`NAVIGATION`, `POI`, `MESSAGING`, `CALLING`) — none of them genuinely fit a timer, so this app is not Play-publishable for AA without a redesign. POI is used here purely so the app surfaces in the projected launcher on real head units when sideloaded with developer mode on. | ||
| - The `CarAppService` declares `androidx.car.app.category.IOT`. This is for sideloaded/development use only; Android Auto category support is host-controlled and not Play-publishable for this timer app without a different product shape. |
There was a problem hiding this comment.
🔥 The Roast: The README boldly declares the CarAppService now uses androidx.car.app.category.IOT, but the manifest is still checking into androidx.car.app.category.POI. Classic case of docs achieving sentience and writing their own fan fiction while the code stayed home.
🩹 The Fix:
| - The `CarAppService` declares `androidx.car.app.category.IOT`. This is for sideloaded/development use only; Android Auto category support is host-controlled and not Play-publishable for this timer app without a different product shape. | |
| - The `CarAppService` declares `androidx.car.app.category.POI`. This is for sideloaded/development use only; Android Auto category support is host-controlled and not Play-publishable for this timer app without a different product shape. |
📏 Severity: warning
Closes #8
Summary
CarAppExtender,setFullScreenIntent(MainActivity), and related phone activity launch code from the ringing notification inNotifier.kt.TimerCarScreen.ringingTemplate()(large red STOP button whenTimerState.Ringing) becomes the authoritative surface.Changes
Notifier.kt: simplifiedbuildRingingNotification()README.md: updated description of Android Auto behaviorSee issue #8 for full context and original bug report.
Tested: compiles cleanly (
./gradlew assembleDebug).