utd_live_room_kit
library
Classes
-
RoomSeatState
-
Full seat state from the backend
_seats namespace.
-
SeatState
-
Represents one tile in the live room: index 0 = host, 1..N = guest tiles.
(On the wire this is a backend "seat" — the tile IS the seat.)
-
SpeakerRequest
-
Represents a pending speaker request.
-
UTDApiClient
-
HTTP client for the UTD Stream Engine API.
-
UTDAvatarWaves
-
A circular avatar with animated "sound wave" pulse rings.
-
UTDBanApi
-
REST API client for the UTD Stream Engine user-ban endpoints.
-
UTDBanListPage
-
One page of the paginated bans list.
-
UTDBanManagementSheet
-
Default host/admin view of the project's active bans, with an unban action.
-
UTDBannedUser
-
A single active ban row from
GET /api/v1/rooms/bans.
-
UTDBanNotice
-
A ban notice delivered to the local (banned) user.
-
UTDBanUserAttributes
-
Attributes snapshotted for a banned user (mirrors the participant attributes
the client set:
fr, frt, avatar, cn). All fields are optional —
the whole object is null when the user was offline at ban time.
-
UTDChatController
-
-
UTDChatMessage
-
-
UTDConnectErrorView
-
Default view shown when the room fails to connect and the consumer did not
supply
onConnectError. Replaces the otherwise-infinite loader with a clear
message and Retry / Exit actions.
-
UTDConstants
-
UTD Audio Room Kit constants.
-
UTDDefaultAvatar
-
Default circular avatar for a seat occupant.
-
UTDDefaultControlsBar
-
The package's built-in role-aware controls bar (used when the consumer does
not supply
controlsBarWidget).
-
Built-in header shown when the host app does not supply its own
config.headerWidget. It is intentionally minimal — a transparent bar with
a top SafeArea holding just two affordances so a room is usable out of the
box: a minimize button (left) and an exit button (right).
-
UTDLiveRoom
-
A LiveKit-based video live room.
-
UTDLiveRoomConfig
-
Configuration for UTDLiveRoom.
-
UTDLiveStage
-
The live video stage.
-
UTDLiveTile
-
A single live video tile.
-
UTDLiveTileActionSheet
-
Per-tile actions for a live room, opened by tapping a guest tile.
-
UTDMediaController
-
Controls mic, camera, and speaker state.
Mic/camera/speaker controls.
-
UTDMemberListSheet
-
Default member list: every participant, with host/admin moderation actions
(mute/unmute, remove from seat, invite, ban) and owner-only promote/demote.
-
UTDMemberRow
-
A single participant row used by the default member list / invite sheets:
avatar + name + optional role badge + trailing action widgets.
-
UTDMessageBatcher
-
-
UTDMessageInputSheet
-
-
UTDMessageRouter
-
-
UTDMinimizeConfig
-
-
UTDMinimizeController
-
-
UTDMinimizeData
-
-
UTDMiniOverlayMachine
-
-
UTDMiniOverlayPage
-
-
UTDMiniPopScope
-
-
UTDParticipant
-
Represents a participant in the audio room.
Replaces
UTDParticipant.
-
UTDParticipantApi
-
REST API client for participant-level, server-authoritative media control.
-
UTDPipController
-
Drives Android OS-level Picture-in-Picture for the audio room, alongside
the in-app minimize overlay (UTDMinimizeController).
-
UTDPipView
-
Compact, view-only content rendered inside the Android system PiP window
while UTDRoomController.pip reports
isInPip == true.
-
UTDReconnectionHandler
-
-
UTDRequestQueueSheet
-
Default host/admin queue of pending speak requests, with approve / reject.
-
UTDRoleApi
-
REST API client for the UTD Stream Engine role endpoints.
-
UTDRoleChangeEvent
-
The realtime
_role_change data message, broadcast to ALL participants
whenever a role changes.
-
UTDRoleChangeResult
-
Result of
PUT .../role → { identity, role, previous_role }.
-
UTDRoleListPage
-
One page of the paginated list-by-role response.
-
UTDRoleUser
-
A single participant row from
GET .../participants/by-role.
-
UTDRoleUserAttributes
-
Attributes returned for a participant by list-by-role (mirrors the
participant attributes the client set:
fr, frt, avatar, cn).
Fields are empty strings if the user is not currently connected.
-
UTDRoomController
-
-
UTDRoomManager
-
Wraps LiveKit
Room and exposes a simplified API.
The kit's central RTC engine + UI handle.
-
UTDRoomScope
-
Carries the room's theme, strings, controller and a few config flags
down to the package's built-in default widgets via the element tree.
-
UTDRoomStrings
-
User-facing strings for the package's built-in default UI.
-
UTDRoomTheme
-
Color tokens for the package's built-in default UI (seats, controls bar,
action sheets, dialogs, chat bubbles…).
-
UTDSeatController
-
Drives the live_stream stage: the host plus host-invited co-publishers.
-
UTDSheetAction
-
A simple tappable row used inside the default sheets: leading icon + label,
with an optional destructive color.
-
UTDSheetInlineError
-
A compact, in-context error banner for use INSIDE a modal sheet that stays
open after a failed action (member list, request queue, ban list). A snackbar
there renders behind the sheet, so these sheets surface failures inline
instead. Pair with a
String? state field that you set on failure and clear
after a few seconds.
-
UTDStageApi
-
REST client for the live_stream stage endpoints.
-
UTDSyncManager
-
-
UTDTokenApi
-
-
UTDTokenResponse
-
Response model returned by the UTD Stream Engine token generation API.
Enums
-
UTDBanSource
-
Where a forced-exit notice originated — affects how much info is available
and which message is shown. (Most are bans; signedInElsewhere is a
single-active-session takeover, surfaced through the same exit funnel.)
-
UTDConnectionState
-
Connection state for the room.
-
UTDMiniOverlayState
-
-
UTDRole
-
The known engine roles, lowest → highest privilege.
-
UTDVideoQuality
-
Video publish quality for the local camera (host and guests).
Exceptions / Errors
-
UTDBannedException
-
Thrown by token generation when the server returns
403 User is banned.
-
UTDRateLimitedException
-
Thrown on a
429 from the token endpoint — either the per-(project, identity,
device) issuance rate limit, or the single-session takeover cooldown (a session
is already active on another device and was claimed too recently to supersede).
Callers should back off and retry, NOT hammer the endpoint.
-
UTDServiceNotAvailableException
-
Thrown on a non-ban
403 from the token endpoint — the project has NOT
activated live streaming (e.g. Type 'live_stream' is not enabled for this project) in the dashboard. Distinct from UTDBannedException so the UI can
say "not available" (retrying can't help) instead of showing the ban flow.
-
UTDTokenException
-
Thrown when token generation fails for a non-ban reason (network/timeout,
engine 5xx, malformed body). Carries the HTTP statusCode when available so
callers can tell a transport failure apart from an engine error.