53 lines
3.3 KiB
Markdown
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.
|