DropletLiveActivityYieldReason

Why a droplet's activity is not holding the compact slot (DroppyKit 0.6.0).

struct DropletLiveActivityYieldReason

Open by design: the host's suppression rules are numerous, private, and change with every surface it gains. A droplet that switches on one must write a default:, and anything unrecognized means the same thing as the rest, which is "not now".

Initializers

init(_:)

init(_ rawValue: String)

Creates a reason from a raw string.

init(rawValue:)

init(rawValue: String)

Creates a reason from a raw string.

init(stringLiteral:)

init(stringLiteral value: String)

String-literal convenience.

Type properties

displayIneligible

static let displayIneligible: DropletLiveActivityYieldReason

The display the user is on does not render compact activities.

idle

static let idle: DropletLiveActivityYieldReason

The droplet published nil: it asked for nothing.

outranked

static let outranked: DropletLiveActivityYieldReason

Another activity outranks this one.

pairFull

static let pairFull: DropletLiveActivityYieldReason

Both live-activity seats (the island owner and the companion pill) are already taken. Distinct from outranked so a droplet can tell "I lost an arbitration" from "the surface is simply full": the latter frees up on its own when either seated activity ends (DroppyKit 0.7.0).

surfaceSuppressed

static let surfaceSuppressed: DropletLiveActivityYieldReason

The compact surface is suppressed entirely right now: a HUD is up, the shelf is expanded, a drag is in progress, a lock-screen handoff is running.

userDisabled

static let userDisabled: DropletLiveActivityYieldReason

The user turned this droplet's activity off.

Properties

description

var description: String { get }

The raw value.

rawValue

let rawValue: String

The raw reason string, the host's own name for it.