Files
XQKqueue/.project-docs/30-worklog/tasks/20260812-integrate-native-display-1a52b7c9.md

3.3 KiB

Task: Integrate native Android display

Identity

  • Task ID: 20260812-integrate-native-display-1a52b7c9
  • Mode: Integration
  • Branch: main
  • Worktree: D:\Datas\PythonProjects\XQKqueue
  • Base commit: e4e3e6a735
  • Owner: codex
  • Status: Ready for bootstrap commit

Scope

  • Adopt and integrate the completed native Android display work already present in the main worktree.
  • Include the native overview and project screens, public display API client, detail-only announcements, embedded Mandarin WAV playback, 1920 x 1080 landscape behavior, range-number fitting, tests, and the updated debug APK.
  • Preserve the existing responsive Web display adjustment that was developed and verified in the same adopted worktree.
  • Carry the source task's task-owned evidence into version control without rewriting its historical record.

Intent And Constraints

  • The user explicitly authorized taking over the existing changes and later requested that they be merged and pushed to main.
  • origin/main and local main both pointed to e4e3e6a735c1a1a485d87a979b80c1ebe5803b6f when integration began.
  • The overview screen must never announce. Only /display/{project-code} may poll announcement state and play audio.
  • Audio must use the APK's embedded Mandarin PCM assets and repeat each announcement three times; it must not depend on Android TTS.
  • A batch range such as 00010 至 00011 must remain complete, single-line, and unellipsized on the supported Android UI.
  • Source task records are retained as historical evidence. Canonical project-memory promotion will be completed from a clean follow-up Integration task whose base includes this bootstrap commit, because the source task's previously uncommitted task-owned documents are foreign to this Integration task's base.

Outcome

  • Prepared one bootstrap integration unit containing the adopted product changes, deliverable APK, source task record, evidence, and reflection.
  • Canonical project-memory promotion and remote push remain pending.

Verification

  • Android: clean testDebugUnitTest lintDebug assembleDebug passed with 56 tests, zero failures, and zero lint errors.
  • Web: 66 Vitest tests and production build/typecheck passed during the source task.
  • Server: go test ./... passed during the source task.
  • APK: versionCode 9 / versionName 1.5.2, minSdk 23, targetSdk 36, v1/v2 signatures valid.
  • Source and deliverable APK SHA-256 matched 0D56C10B8CE706893F3EA8E59B21329847517F56F7347ABEA127AB30C6C71D77.
  • Independent range-display review found no P0/P1 code or APK blocker; the remaining blocker was only the project-document ownership transition addressed by this bootstrap step.

Follow-ups

  • Start a follow-up Integration task at the bootstrap commit, promote durable facts into canonical project memory, run the final documentation gate, obtain a fresh read-only review, and push main.

Promotion Candidates

  • Native Android Views are the supported large-screen application implementation; the Web display remains a separate browser surface.
  • The snapshot response is the single source for project-screen UI and announcement state.
  • Announcement lifecycle is structurally detail-only, with cancellation when leaving the project screen or pausing the Activity.
  • Embedded PCM assets and AudioTrack streaming replace device TTS for appliance compatibility.