ContextProvider class abstract
Base contract for providing structured diagnostic context that can be attached to error/report events.
Providers should be:
- Fast and resilient (never throw out of getData).
- Conscious about privacy (avoid PII by default).
- Lightweight by default; heavy data should be opt‑in or manual‑only.
- Implementers
- Annotations
Constructors
- ContextProvider()
-
Allows subclasses to be
constand satisfy immutability lint rules.const
Properties
- 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 setter
- name → String
-
The key under which this provider's map is attached to the report context.
no setter
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
getData(
) → FutureOr< Map< String, dynamic> > - Collects context data. Implementations must never throw; if an internal error occurs, return an empty map instead.
-
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
trueto keep the data in the report. The default keeps any non‑empty map.
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited