Download state buttonDownloadStateButton (UIControl)app-composed · shipped
The one composed control. A 50pt UIControl swaps a Phosphor glyph by state; while downloading it draws its own 2pt ring with two CAShapeLayers. No Gauge.
Idle
download-simple, no ring
Queued
“In Queue”, no ring
Downloading
“Downloading... 62%”, glyph reads stop
Downloaded
ring hidden, row icon turns yellow
Stopped · failed
idle glyph; “Stopped” or “Failed: <message>” in the subtitle
size50pt control, 30pt ring
stroke2pt, round caps
track--line
fill--yellow-solid, from 12 o'clock
animation0.3s ease-out between updates
glyph--solid; check-circle --yellow-solid
Do not. Show a ring for a queued item, or put the failure reason anywhere but the row subtitle.