HostTouch class abstract final

"A real person took over" (RN user-interaction.ts, Android ClickEventTracker.hostTouches + LiveKitService.onHostTouch): a touch on the HOST app while the agent is acting or showing something stops it.

Two kinds of touch never count:

  • the agent's own synthetic taps — tagged with TapExecutor.kAgentPointerDevice (its primary path, semantics actions, sends no pointer events at all);
  • touches on the SDK's own widget (FAB, expanded bar, panels, full-screen avatar, permission prompt): EmbedSelfUi marks them. Pointer events go to the deepest listener first, so the mark is set before the root observer (isHostTouch) reads it — RN's markSdkTouch ordering.

Properties

hashCode → int
The hash code for this object.
no setterinherited
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() → String
A string representation of this object.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited

Static Methods

debugReset() → void
handle({required bool highlightVisible, required bool glowVisible, required bool onUserInteraction(bool agentUiVisible), required VoidCallback clearHighlight, required VoidCallback dismissGlow}) → bool
RN handleHostTouch: interrupt the runtime, then clear the box and the glow — this also covers a box drawn with no mission running, and a glow still in its post-hold. Returns true when anything was stopped.
isHostTouch(PointerDownEvent e) → bool
The observer, once per pointer down: true when this touch is the user's touch on the host app. Consumes the SDK mark, so it only ever exempts the touch it came with — call it exactly once per down.
markSdkPointer(int pointer) → void
The SDK widget took pointer pointer. Bounded: a mark the observer never consumes cannot accumulate.