CaptureScope class

Screen-content policy shared by the live feed and the persistent cache.

Host route restrictions are independent of widget visibility. Allowing a hidden widget to transmit must never override a host screen exclusion.

Constructors

CaptureScope({required EmbedRouteManager routes, bool enforceEnabledRoutes = false, List<String>? enabledRoutesOverride, List<String> openPopupNames()?})
const

Properties

enabledRoutesOverride → List<String>?
Host-provided route patterns, when the visual route manager's enabled set also contains an automatically synthesized initial route. Passing an empty list deliberately allows no routes. Null uses the manager's set, including its visibility groups and platform-provided routes.
final
enforceEnabledRoutes → bool
Whether the host configured an enabled-route list (including a platform allowlist or visibility groups). An explicitly empty list allows nothing. Hosts with no allowlist retain capture on all non-excluded screens.
final
hasExcludedPopupOpen → bool
A named popup listed in disabledRoutes (e.g. an OTP dialog) excludes the whole capture while it is open: it is drawn over the page and its contents would otherwise be captured under the page's permission.
no setter
hashCode → int
The hash code for this object.
no setterinherited
openPopupNames → List<String> Function()?
Names of the popup routes open right now (dialogs/sheets/menus). Null reads OpenPopupRoutes.names, which the navigator observer maintains.
final
routes → EmbedRouteManager
final
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited

Methods

canTransmit(String screen, {required bool widgetVisible, bool transmitOnHiddenWidget = false}) → bool
includesRoute(String route) → bool
Check a capture's original route independently of the route visible now. Retained snapshots and queued payloads must not inherit permission from a different screen that became current while they were waiting.
includesScreen(String screen) → bool
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
observesRoute(String route) → bool
includesRoute's mission counterpart: exclusions only.
observesScreen(String screen) → bool
"May a MISSION look?" — only the host's explicit EXCLUSIONS apply: disabledRoutes matching the current route or the detected screen name, or an excluded named popup open on top. Absence from the enabled-route list / platform allowlist does NOT blind a mission (Android SnapshotPump parity: absence from an include list is a default, an exclusion is a decision). Without this, a mission that navigates off the allowlist could not see the screen it just opened and every later step failed.
toString() → String
A string representation of this object.
inherited

Operators

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