Rokid Relay v0.1.13
Rokid Relay v0.1.13 is a development-preview update focused on glasses input reliability, long notification readability, voice configuration, and repeatable QA.
Important: v0.1.13 supersedes v0.1.12. The v0.1.12 release notes described the app changes, but the published package still carried the previous bundled glasses helper version. This release republishes the full changelog with the corrected phone and bundled glasses versions.
versionName: 0.1.13
versionCode: 14
bundledGlassesVersionName: 0.1.8
bundledGlassesVersionCode: 9
What's New
More Reliable Glasses Controls
- Reworked glasses input through a shared pure RelayInputInterpreter used by both MainActivity and the AccessibilityService.
- Fixed physical swipe aliasing so paired key events like RIGHT + DOWN count as one movement instead of skipping items.
- Fixed RRLL-style combos so partial inputs like RRL no longer open the inbox early.
- Preserved system two-finger controls outside Relay flows, so volume/brightness gestures are not swallowed by Relay unless a Relay action actually consumes them.
- Kept inbox controls snappy while preventing accidental two-finger paging/navigation inside the inbox.
Better Notification and Inbox Reading
- Reworked long notification paging with measured StaticLayout pages instead of clipping text.
- Improved popup sizing so long multi-message notifications are paged/readable instead of being cut off.
- Added inbox detail paging guards so boundary swipes do not accidentally move the list.
Voice and Companion Improvements
- Added transcription language selection.
- Added Azure Speech provider support alongside the existing STT choices.
- Added companion-device linking for background microphone flows.
- Suppressed the Rokid AI wake path while relay capture is active.
- Made companion glasses detection more robust across device renames.
- Fixed cases where the companion link could get stuck on Bluetooth search.
- Stopped opening the glasses app just because the phone app opens.
QA and Regression Coverage
- Added focused unit tests for debounce, key mapping, combo buffering, inbox two-finger gating, notification paging, and the new RelayInputInterpreter.
- Added a generated QA matrix and starter scenario files under qa/.
- Added scripts/rokid-regression.ps1, which can build, exercise connected phone/glasses devices, post a real test notification, capture logs/screenshots, and record a report.
- Validated the release APK with zipalign -P 16 and confirmed the phone APK contains the updated bundled glasses helper APK.
Known Limits
- The QA runner can now do real device smoke coverage, but exact internal assertions for some scenarios still need debug hooks such as DUMP_STATE, SEND_FAKE_CXR_MESSAGE, and fake voice/audio hooks.
- Release APK assets are still debug builds while public signing/distribution is being finalized.
Validation
- Gradle: :glasses:testDebugUnitTest
- Gradle: ☎️assembleDebug, including bundled glasses helper copy
- Device QA runner: phone + glasses build/install/launch smoke, ADB input alias replay, real phone test notification, glasses screenshot/log capture
- Autoreview: Codex CLI clean, no accepted/actionable findings
- APK check: zipalign -P 16 verification successful
- APK package check: phone versionCode 14 / versionName 0.1.13
- Bundled helper check: glasses versionCode 9 / versionName 0.1.8, matching the rebuilt glasses APK hash
SHA256(rokid-relay-phone-v0.1.13-vc14-debug.apk): 0ba8cedef6875a39eb521b0a3f27dd0161aaebf5529dc64dd1ef59e5ba89a177