feat(android): add native display and embedded announcements
This commit is contained in:
@@ -0,0 +1,52 @@
|
||||
# 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.
|
||||
Reference in New Issue
Block a user