fix(nova): route dual-screen controls to companion display#117
Draft
papi-ux wants to merge 11 commits into
Draft
fix(nova): route dual-screen controls to companion display#117papi-ux wants to merge 11 commits into
papi-ux wants to merge 11 commits into
Conversation
Owner
Author
Thor field-test APK for this PRI published a debug-signed arm64 field-test APK for PR #117 here:
This APK is debug-signed for testing only: If Android reports a signature mismatch, uninstall the existing release build first, then install this APK: adb uninstall com.papi.nova
adb install Nova-PR117-Thor-arm64-v8a-debug.apkThor test checklist
Logs to capture if anything lands wrongPlease attach/summarize fresh Nova logs containing these lines: Expected Thor-ish shape for Largest display: Display IDs may differ by firmware/device. This PR should remain draft until real Thor hardware confirms the routing behavior. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Refs #115. Builds on the display-target selector from #98/#106.
ExternalDisplayControlActivityto the non-stream companion display instead of hard-codingDisplay.DEFAULT_DISPLAY.Largest/This device screenpath.GameDisplayLaunchTrampolineActivityso the singleton companion-control activity no longer doubles as a launch trampoline.Display.DEFAULT_DISPLAY, even when Nova was opened from the Thor bottom/companion screen.Nova: Android display role stream id=... target=...Nova: Android display role companion id=... stream_id=...Nova: Android display launch stream id=...Field-test gate before merge
This PR should stay draft until real AYN Thor evidence confirms:
Expected safe log shape:
IDs may differ by firmware/device.
Test plan
Executed locally from an isolated worktree after initializing native submodules:
NovaExternalDisplayRoutingSourceGuardTestfailed before the dedicated trampoline split becauseGameDisplayLaunchTrampolineActivitydid not exist,ServerHelperstill targetedExternalDisplayControlActivity.EXTRA_LAUNCH_INTENT,ExternalDisplayControlActivitystill bootstrappedGame, andGame.relaunchStream()still used plain app-contextstartActivity.ANDROID_HOME=/home/papi/Android/Sdk ANDROID_SDK_ROOT=/home/papi/Android/Sdk ./gradlew :app:testDebugUnitTest --tests com.papi.nova.utils.NovaExternalDisplayRoutingSourceGuardTest --tests com.papi.nova.utils.KotlinExternalDisplayUiMigrationTest --tests com.papi.nova.utils.AndroidStreamDisplayTargetTest --console=plainANDROID_HOME=/home/papi/Android/Sdk ANDROID_SDK_ROOT=/home/papi/Android/Sdk ./gradlew :app:compileRootDebugKotlin :app:lintRootDebug :app:testDebugUnitTest :app:assembleDebug --console=plainAppCompatActivityto plainActivityfor the platform translucent theme:ANDROID_HOME=/home/papi/Android/Sdk ANDROID_SDK_ROOT=/home/papi/Android/Sdk ./gradlew :app:testDebugUnitTest --tests com.papi.nova.utils.NovaExternalDisplayRoutingSourceGuardTest --tests com.papi.nova.utils.KotlinExternalDisplayUiMigrationTest --tests com.papi.nova.utils.AndroidStreamDisplayTargetTest :app:compileRootDebugKotlin :app:lintRootDebug :app:assembleDebug --console=plaingit diff --checkDebug APKs were produced locally for root/non-root debug flavors and arm64-v8a/armeabi-v7a/x86_64 ABIs.
Field-test APK
Prerelease asset:
https://github.com/papi-ux/nova/releases/tag/pr117-thor-dual-screen-debug
Current arm64-v8a debug APK SHA256:
05bbb02598c5a4c97eb4e8c6d4156f243ac9e448afda2e18370393151116e53bNotes