AppContextProvider class

Provides application/package metadata + lightweight runtime signals that are safe to collect automatically (network summary, battery level).

Avoids UI/BuildContext to keep it usable at app startup and in isolates.

Inheritance
Mixed-in types

Constructors

AppContextProvider({PackageInfo? packageInfo, Battery? battery, Connectivity? connectivity, Map<String, dynamic> additional()?})
Creates an app context provider with optional injected dependencies and a hook for attaching additional custom metadata.

Properties

cacheDuration → Duration
Cache TTL for this provider. Keep short for dynamic data, longer for static.
no setteroverride
hashCode → int
The hash code for this object.
no setterinherited
manualReportOnly → bool
If true, this context is collected only for manual user‑initiated reports (e.g., when the user taps "Send diagnostics"), and not for automatic background reporting.
no setterinherited
name → String
The key under which this provider's map is attached to the report context.
no setteroverride
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited

Methods

clearCache() → void
Clears the cached value, forcing the next call to hit collect.
inherited
collect() → Future<Map<String, dynamic>>
Override this instead of getData to implement the actual data collection.
override
getData() → Future<Map<String, dynamic>>
Collects context data. Implementations must never throw; if an internal error occurs, return an empty map instead.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() → String
A string representation of this object.
inherited
validateData(Map<String, dynamic> data) → bool
Optional validation; return true to keep the data in the report. The default keeps any non‑empty map.
inherited

Operators

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