# GPS2Audio v2.7.35 — Handoff UI-only polish of the **main home screen / Audio-Bibliothek** (`HomeScreen.kt`) on top of the v2.7.34 baseline. No data model, persistence, backup/import, license gate, playback, multi-clip, PTT behavior, Atmo behavior, MapLibre/Explorer, routing, tour ordering, or player-auto-open changes. ## Goal Make the home screen feel like a finished audio/tour library: tour cards more consistent, metadata clear and never truncated (no more "Route ge…"), empty tours intentional rather than broken, a friendlier section title, and the Live/PTT block less visually dominant. ## What changed All changes are in `HomeScreen.kt` (one file). 1. **Section title** — "Touren" → **"Meine Touren"**, with the tour count shown as a small teal pill chip on the right (was a bare grey number). 2. **Tour-card subtitle** — `subtitleFor()` rewritten to concise, complete, non-truncating labels: - 0 waypoints → "Noch leer · füge Wegpunkte hinzu" - 1 waypoint → "1 Wegpunkt" / "1 Wegpunkt · Route geplant" - n waypoints → "n Wegpunkte" / "n Wegpunkte · Route geplant" The old `"$n Wegpunkte · Route gespeichert"` was what truncated to "…Route ge…". Even when ellipsized on a narrow card the line now reads as a whole phrase, and the route status is always also shown clearly in the chips (point 4), so meaning is never lost. 3. **Consistent card height** — the card text block now has `heightIn(min = 86.dp)` and pushes the chips row to the bottom with `Spacer(weight = 1f)`, so cards in a row align regardless of subtitle length. 4. **Always-visible status chips** — the bottom chip row now always renders two chips with clear labels: - waypoint count (`PinDrop` + number) **or**, for empty tours, an "Noch leer" chip (`Add` icon, muted color) instead of a bare "0". - route status: "Route" (teal) when a route exists, "Keine Route" (muted) when not — previously the route chip was hidden entirely, leaving ambiguity. 5. **Live/PTT module visual weight** — the `PttModuleCard` wrapper was inset to the library margin (`horizontal = 12.dp`) and made vertically tighter (`vertical = 4.dp`). **The shared `LivePttCard` (mic permission, recordings, devices, all controls) is untouched** — only the surrounding spacing changed, because `LivePttCard` is reused elsewhere and behavior changes would be risky. Dark/teal corporate design and the existing accent palette are preserved; chips use the established `primary`/`tertiary`/`onSurfaceVariant` colors for contrast. The screen keeps `verticalScroll`; nothing was made non-scrollable. ## Preserved capabilities (verified in code, untouched) Cover display/selection, tour-open behavior (`selectTour` + `onOpenTour`), tour reorder dialog, PTT optional visibility + full controls, Now-Playing bar, customize-home dialog, Explorer/overflow menu actions, cover image/palette/icon rendering, and the LIVE indicator. No callbacks, ViewModel calls, or HomeModules settings were changed. The unused `HeroQuickActions` and `AtmoModuleCard` helpers were left as-is (not part of this scope). ## No regressions to prior versions v2.7.32 fixes (player auto-open, `moveTour` visible-index), v2.7.33 Begleitmusik redesign, and v2.7.34 WaypointEditDialog redesign were not touched. ## Changed files 1. `app/src/main/kotlin/de/waypointaudio/ui/HomeScreen.kt` - Section header → "Meine Touren" + count chip; tour-card text block restructured (fixed min-height, bottom-aligned chips, empty-state chip, always-shown route chip); `subtitleFor()` rewritten; `PttModuleCard` wrapper spacing tightened. No new imports needed (`heightIn`, `Add`/`PinDrop`/`Route` already covered by existing wildcard imports). 2. `app/build.gradle.kts` - `versionCode 140 → 141`, `versionName 2.7.34 → 2.7.35`, changelog comment. No string resources added or removed (labels are short inline German, matching the file's existing pattern). No new non-functional buttons were introduced. ## Build & test - Command: `./gradlew :app:assembleRelease --no-daemon` - Result: **BUILD SUCCESSFUL** (~51s). Only pre-existing deprecation warnings elsewhere; none from `HomeScreen.kt`. - Signed with the release config from `keystore.properties`. Verified: `CN=GPS2Audio, OU=NesoHub, O=GPS2Audio, L=Germany, C=DE`, SHA-256 `490511f3…d4e5` (same key as prior releases). - `aapt2 badging`: `versionCode='141' versionName='2.7.35'`. - No unit/instrumented test suite in the project. Verification was build + signature + version + code-path review. The screen was **not** exercised on a device/emulator in this environment. ## Artifacts - `GPS2Audio_v2.7.35_universal-release-signed.apk` — signed universal release APK (single APK; no ABI splits configured). - `GPS2Audio_v2.7.35_src.zip` — clean source. Excludes `.gradle`, `.idea`, `.kotlin`, all `build/` dirs, `.git`, and binaries (`.apk/.aab/.jks/.keystore/.so` and raster images). Verified: changed files present, no excluded artifacts inside. **Note:** `keystore.properties` and `local.properties` text files are still included. `keystore.properties` carries the signing path/passwords — **strip it before distributing the source externally.**