LockScreenStatusEntry

One entry in the lock screen status widget strip.

struct LockScreenStatusEntry

Initializers

init(from:)

init(from decoder: Decoder) throws

Older persisted entries predate an explicit cadence flag. Preserve their established interpretation by deriving cadence from progress when the new key is absent.

init(id:systemImage:text:detail:roundedCenterText:roundedBottomText:progress:)

init(id: String, systemImage: String, text: String, detail: String? = nil, roundedCenterText: String? = nil, roundedBottomText: String? = nil, progress: Double? = nil)

Creates an entry. Everything past text is optional chip payload; omitting all of it produces the plain horizontal strip entry. This is the original ABI entry point. Keep its exact symbol and infer cadence from ring progress so pre-cadence droplets retain their behavior.

init(id:systemImage:text:detail:roundedCenterText:roundedBottomText:progress:ticksEverySecond:)

init(id: String, systemImage: String, text: String, detail: String? = nil, roundedCenterText: String? = nil, roundedBottomText: String? = nil, progress: Double? = nil, ticksEverySecond: Bool)

Creates an entry with an explicit display cadence.

Properties

detail

let detail: String?

Secondary label beside text in the horizontal strip style, for example a mode name. nil shows the primary text alone.

id

let id: String

Stable identifier within the droplet.

progress

let progress: Double?

Ring progress in 0...1 for the rounded strip style, for example a timer's remaining fraction. nil draws the idle arc.

roundedBottomText

let roundedBottomText: String?

Caption under the ring in the rounded strip style. nil falls back to text.

roundedCenterText

let roundedCenterText: String?

Compact value rendered inside the ring in the rounded strip style. nil falls back to the SF Symbol.

systemImage

let systemImage: String

SF Symbol shown in the strip.

text

let text: String

Short status text, for example a remaining time.

ticksEverySecond

let ticksEverySecond: Bool

Whether the host should re-render this entry at second cadence while the display is awake. This is intentionally independent from progress: a timer can update its text every second without rendering a rounded progress ring.