---
ui_doc_type: component
component_id: device-tile
status: 구현됨
source_evidence:
  - type: code
    path: lib/src/features/devices/devices_page.dart
    notes: "_DeviceTile, _DeviceStateChip, _CompactIconButton"
  - type: docs
    path: README.md
    notes: "Android device 목록 조회 scope"
  - type: user
    path: null
    notes: "agent-ui 생성 요청"
---

# Device Tile

Component ID: `device-tile`

Status: `구현됨`

## Source Evidence

| Type | Path | Notes |
|------|------|-------|
| code | `lib/src/features/devices/devices_page.dart` | `_DeviceTile`, `_DeviceStateChip`, `_CompactIconButton` |
| docs | `README.md` | Android device 목록 조회 scope |
| user | 없음 | agent-ui 생성 요청 |

## Purpose

Android device 하나의 readiness, serial, metadata, logcat/install actions를 grid card 안에서 표시한다.

## Used By

- `devices`: `devices.device-grid`

## Anatomy

- phone icon tinted by state
- display name
- serial
- product/device metadata
- state message
- state chip
- logcat icon action
- install icon action

## Variants

- ready: logcat 가능, pending install이 있으면 설치 가능
- attention: offline/unauthorized 등 조치 필요
- installing: install icon이 hourglass로 표시

## States

- default
- loading: installing action 상태
- empty: 해당 없음
- error: device state message/chip으로 표현
- disabled

## Rules

- install action은 pending install, installer, ready device, not installing 조건을 모두 만족해야 활성화한다.
- logcat action은 ready device와 callback이 있을 때만 활성화한다.

## Decision History

- 2026-06-25: ADB device grid item을 component로 기록했다.
