--- ui_doc_type: component component_id: install-cta status: 구현됨 source_evidence: - type: code path: lib/src/features/builds/builds_page.dart notes: "_InstallCta와 _DownloadState" - type: docs path: README.md notes: "APK 다운로드 및 adb install handoff scope" - type: user path: null notes: "agent-ui 생성 요청" --- # Install CTA Component ID: `install-cta` Status: `구현됨` ## Source Evidence | Type | Path | Notes | |------|------|-------| | code | `lib/src/features/builds/builds_page.dart` | `_InstallCta`와 `_DownloadState` | | docs | `README.md` | APK 다운로드 및 `adb install` handoff scope | | user | 없음 | agent-ui 생성 요청 | ## Purpose 선택한 APK artifact를 다운로드/stage하고 디바이스 설치 흐름으로 넘긴다. ## Used By - `builds`: `builds.install-cta` ## Anatomy - state icon - title/status label - artifact/build metadata - download progress label and linear progress - cancel/retry/install button ## Variants - idle: 설치 준비 또는 다운로드 취소됨 - downloading: received/total bytes와 cancel action - verified: staged APK path와 install action - failed: error message와 retry action ## States - default - loading - empty: 해당 없음 - error - disabled ## Rules - downloader/stager가 있으면 먼저 다운로드를 수행하고, 검증된 staged APK만 install handoff에 넘긴다. - 다운로드 실패 메시지는 한 줄로 줄이고 retry action을 유지한다. ## Decision History - 2026-06-25: APK download/install handoff CTA를 component로 기록했다.