ResolvedContentSource

data class ResolvedContentSource(val type: <Error class: unknown class>, val ownerCid: String, val mode: ContentMode)

The content-role input to the layout (app.serenada.core.layout.ContentSource), or null when no content tile should render. This is the render-logic seam that decides WHEN the content-stage layout fires — pure so it can be unit tested.

Gating rules (the two paths differ deliberately, mirroring web's resolveContentSource):

  • Multi-party (isMultiParty == true): a content tile renders whenever a primary content owner is resolved — INDEPENDENT or LEGACY. This is the existing behavior; legacy multi-party already presents the single video as a content tile. Unchanged.

  • 1:1 (isMultiParty == false): a content tile renders ONLY when the primary content is INDEPENDENT. In the LEGACY 1:1 case the single video is physically swapped to the screen by the SDK and presented in the normal one-tile layout, so surfacing a content tile would double-render it. Gating strictly on INDEPENDENT keeps the legacy 1:1 single-tile experience byte-identical.

Constructors

Link copied to clipboard
constructor(type: <Error class: unknown class>, ownerCid: String, mode: ContentMode)

Properties

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
val type: <Error class: unknown class>