ReadonlycurrentThe process's current origin, read-only outside this module: a login replaces the stored variant with the created one through the writers below, so the illegal pair (a created session that claims the earlier process's facts) cannot exist. No caller assigns it; the two writers are the platform's — a session-header parser and the stored-process start — and userland calls neither.
Where the app process's user session came from:
stored— the process started holding a session an earlier process kept (a restored snapshot, an app restart);created— a login in this process created it. The two Android launches the recordings show differ by exactly this fact: a process that starts with a stored session sends the warm launch (/rmdreason=APP_START), a process that just logged in sends the post-login burst (reason=SESSION_CHANGE). Process state, one per runtime layer, never in the session snapshot: a restored session is alwaysstored.Public because it is the fact a platform's launch declaration reads to pick one of the recorded orders: a runtime layer provides it explicitly (
Layer.succeed(ProcessSessionOrigin, newProcessSessionOrigin())), and a platform's session-header parser writes it through MarkSessionCreatedInProcess. Userland reads it; it does not call the writers.