Skip to content

Prepare Nova 1.0.7 Google TV compatibility release#56

Merged
papi-ux merged 2 commits into
masterfrom
nova/chromecast-armv7-release
May 18, 2026
Merged

Prepare Nova 1.0.7 Google TV compatibility release#56
papi-ux merged 2 commits into
masterfrom
nova/chromecast-armv7-release

Conversation

@papi-ux
Copy link
Copy Markdown
Owner

@papi-ux papi-ux commented May 18, 2026

Summary

  • Bump the next release metadata to 1.0.7 / 22 for a Google TV compatibility release.
  • Add armeabi-v7a to the default release ABI split set so Chromecast with Google TV, Google TV Streamer, and other 32-bit ARM Android TV devices get a public APK.
  • Update the release workflow to name, upload, and verify Nova-Android-armeabi-v7a.apk plus its checksum alongside the existing ARM64 and x86_64 assets.
  • Recognize the Steam Controller 2026 Bluetooth keyboard/mouse HID shape reported by Google TV (0x28de:0x1303) as controller input so Nova advertises a host gamepad and routes compatible D-pad/button events through the controller path.
  • Refresh README, changelog, Fastlane changelog, and public-docs checks for the new APK and Steam Controller compatibility notes.
  • Add regression guards around the Gradle default ABI list, release workflow asset verification, and Steam Controller HID detection.

Verification

  • Red check first: ./gradlew -PnovaAbis=x86_64 :app:testNonRoot_gameDebugUnitTest --tests com.papi.nova.ui.NovaComposeBuildConfigurationTest --console=plain failed before implementation because armeabi-v7a was missing from Gradle/workflow expectations.
  • Red check first: Steam Controller HID tests failed before implementation because Valve 0x28de:0x1303 keyboard/mouse input was not accepted as controller input.
  • Captured Google TV dumpsys input evidence showing Steam Ctrl (BT) FXA9960600962 as vendor 0x28de, product 0x1303, sources KEYBOARD | MOUSE | STYLUS, keyboard type 2, with no GAMEPAD or JOYSTICK source.
  • git diff --check
  • bash scripts/check-public-surface.sh
  • bash scripts/check-public-docs.sh
  • ./gradlew -PnovaAbis=x86_64 :app:testNonRoot_gameDebugUnitTest --tests com.papi.nova.ui.NovaComposeBuildConfigurationTest --console=plain
  • ./gradlew -PnovaAbis=x86_64 :app:testNonRoot_gameDebugUnitTest --tests com.papi.nova.binding.input.KotlinControllerHandlerMigrationTest --console=plain
  • ./gradlew -PnovaAbis=x86_64 testNonRoot_gameDebugUnitTest --console=plain
  • ./gradlew -PnovaAbis=armeabi-v7a assembleNonRoot_gameDebug lintNonRoot_gameDebug --console=plain
  • ./gradlew assembleNonRoot_gameRelease --console=plain
  • aapt dump badging app/build/outputs/apk/nonRoot_game/release/*armeabi-v7a*release*.apk confirmed versionCode='22' and versionName='1.0.7'.
  • ADB smoke on Google TV Streamer at 10.0.0.149:5555: device reports ro.product.cpu.abilist=armeabi-v7a,armeabi; installed app-nonRoot_game-armeabi-v7a-debug.apk; package reports primaryCpuAbi=armeabi-v7a, versionCode=22, versionName=1.0.7; launched com.papi.nova.debug; no fatal/ANR/native-crash logcat matches.

Notes

  • Android exposes this Steam Controller Bluetooth mode as keyboard/mouse rather than a full standard gamepad source, so this PR makes the compatibility path explicit and scoped. The right trackpad remains mouse-like input, and full Steam Input profile behavior still depends on what Android exposes or what the host handles.

@papi-ux papi-ux changed the title Add Chromecast armv7 release split Prepare Nova 1.0.7 Google TV compatibility release May 18, 2026
@papi-ux papi-ux merged commit 62c9a95 into master May 18, 2026
6 checks passed
@papi-ux papi-ux deleted the nova/chromecast-armv7-release branch May 18, 2026 05:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant