RunSession class

The typed session manifest (ADR-0011 H1).

Constructors

RunSession({required String flutterSdkPath, required String engineRevision, required String targetFile, required String buildMode, required Map<String, String> dartDefines, required String applicationId, required List<String> abis, required String apkPath, int schema = runSessionSchemaVersion, String okaVersion = '', String recordedAt = '', String flavor = '', bool trackWidgetCreation = false})
const
RunSession.fromJson(Map<String, dynamic> json)
Parses a manifest, tolerating unknown fields (forward-compatible readers; writers are the same package that reads).
factory
RunSession.load(String path)
Loads and parses the manifest at path. Missing or corrupt manifests throw RunSessionException with the rebuild fix.
factory

Properties

abis → List<String>
final
apkPath → String
final
applicationId → String
final
buildMode → String
final
dartDefines → Map<String, String>
Merged, normalized dart-defines (see normalizeDartDefines).
final
engineRevision → String
final
flavor → String
final
flutterSdkPath → String
final
hashCode → int
The hash code for this object.
no setterinherited
okaVersion → String
final
recordedAt → String
final
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
schema → int
final
targetFile → String
final
trackWidgetCreation → bool
final

Methods

encode() → String
Canonical serialization used both for writing and for golden tests.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toJson() → Map<String, dynamic>
Deterministic JSON: fields in a fixed order, define keys sorted via normalizeDartDefines (const-constructed sessions included).
toString() → String
A string representation of this object.
inherited
write(String path, {RunManifestRepository repository = const FileRunManifestRepository()}) → Future<File>
Writes the manifest to path (parent dirs created).

Operators

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

Static Methods

forApk(String apkPath, {RunManifestRepository repository = const FileRunManifestRepository()}) → RunSession?
Finds the manifest for apkPath (same directory, fixed name), or null when none was recorded (pre-H1 build).
loadFrom(String path, {RunManifestRepository repository = const FileRunManifestRepository()}) → RunSession
Loads through an injected repository. load remains the file-backed compatibility entry point.