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

53 lines
3.3 KiB
Markdown

# Task: Integrate native Android display
## Identity
- Task ID: 20260812-integrate-native-display-1a52b7c9
- Mode: Integration
- Branch: main
- Worktree: D:\Datas\PythonProjects\XQKqueue
- Base commit: e4e3e6a735c1a1a485d87a979b80c1ebe5803b6f
- 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.