diff --git a/docs/superpowers/plans/2026-09-16-kwabatv-rebuild.md b/docs/superpowers/plans/2026-09-16-kwabatv-rebuild.md index ae65523..6472a8e 100644 --- a/docs/superpowers/plans/2026-09-16-kwabatv-rebuild.md +++ b/docs/superpowers/plans/2026-09-16-kwabatv-rebuild.md @@ -18,7 +18,7 @@ - `KEYCODE_BACK`'s 3-state behavior (room list → no-op; in a room + fullscreen → send `Escape`; in a room + not fullscreen → navigate to `/tv`) from the design spec — implemented natively, not by relying on any website-side reaction to a key event. - Held DPAD Left/Right must be throttled to roughly one synthetic event per 200ms even though Android's own hardware key-repeat fires faster — un-throttled, this would flood the room's sync socket with seek commands broadcast to every viewer. - Debug builds (`gradlew assembleDebug`) are used throughout this plan for iteration and hardware sideload testing — Android auto-signs debug builds, no keystore needed, and Fire TV sideloading doesn't care whether an APK is a "debug" or "release" build. A signed release build (via Android Studio's `Generate Signed Bundle / APK` wizard, per the original app's own documented process) is a separate, later step this plan doesn't cover — out of scope until the app is otherwise working. -- `JAVA_HOME` for all Gradle commands in this plan: `C:\Program Files\Android Studio\jbr` (Android Studio's bundled JetBrains Runtime) — there is no system-wide Java on this machine's PATH. +- `JAVA_HOME` for all Gradle commands in this plan: `C:\Users\GGB\jdks\jdk-21.0.12.1+1` (a separately-installed Temurin 21, added specifically for this project). **Not** Android Studio's bundled JBR (JDK 25) — Gradle 8.7 crashes at startup on JDK 25 (`What went wrong: 25.0.3`, a bare version-string error, not a real message). Set `JAVA_HOME` inline per-command (e.g. `JAVA_HOME="C:\Users\GGB\jdks\jdk-21.0.12.1+1" ./gradlew.bat ...`) — scoped to this project's Gradle invocations only, never as a system-wide or user-profile environment variable, so Android Studio's own JBR stays what the IDE itself uses. - Reuse the branding assets already in `C:\Projekte\kwaba\Claude outputs\` (`ic_launcher_art.png`, 512×512; `banner_tv_art.png`, 640×360) rather than regenerating them. --- @@ -216,7 +216,7 @@ There is no `gradle` binary on this machine's PATH and no pre-existing wrapper t cd C:\Projekte\kwabatv Invoke-WebRequest -Uri "https://services.gradle.org/distributions/gradle-8.7-bin.zip" -OutFile "$env:TEMP\gradle-8.7-bin.zip" Expand-Archive -Path "$env:TEMP\gradle-8.7-bin.zip" -DestinationPath "$env:TEMP\gradle-8.7" -Force -$env:JAVA_HOME = "C:\Program Files\Android\Android Studio\jbr" +$env:JAVA_HOME = "C:\Users\GGB\jdks\jdk-21.0.12.1+1" & "$env:TEMP\gradle-8.7\gradle-8.7\bin\gradle.bat" wrapper --gradle-version 8.7 --distribution-type bin Remove-Item -Recurse -Force "$env:TEMP\gradle-8.7", "$env:TEMP\gradle-8.7-bin.zip" ``` @@ -227,7 +227,7 @@ Expected: `gradlew`, `gradlew.bat`, and `gradle/wrapper/gradle-wrapper.propertie ```powershell cd C:\Projekte\kwabatv -$env:JAVA_HOME = "C:\Program Files\Android\Android Studio\jbr" +$env:JAVA_HOME = "C:\Users\GGB\jdks\jdk-21.0.12.1+1" .\gradlew.bat assembleDebug ``` @@ -291,7 +291,7 @@ Change to: ```powershell cd C:\Projekte\kwabatv -$env:JAVA_HOME = "C:\Program Files\Android\Android Studio\jbr" +$env:JAVA_HOME = "C:\Users\GGB\jdks\jdk-21.0.12.1+1" .\gradlew.bat assembleDebug ``` @@ -471,7 +471,7 @@ class MainActivity : Activity() { ```powershell cd C:\Projekte\kwabatv -$env:JAVA_HOME = "C:\Program Files\Android\Android Studio\jbr" +$env:JAVA_HOME = "C:\Users\GGB\jdks\jdk-21.0.12.1+1" .\gradlew.bat assembleDebug ```