"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
markSdkTouchordering.
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.