Package-level declarations
Types
Icon loading for the drawer's A–Z rail in icon-preview mode (#4). Foyer is text-first — icons exist nowhere else in the app. warmAll pre-loads every installed app's icon in the background as soon as the drawer opens (icon-preview mode only), so peek returns instantly once the finger actually touches the rail; icon is the suspend fallback for anything not yet warmed. Profile-aware via LauncherApps.
Which clock the home screen shows (#15). Cycled in settings / home menu.
How the drawer's A–Z rail looks (#4).
What a home-screen gesture does. Configured per gesture in settings; the launcher-UI targets (drawer / ask me) are injected by GestureUi because they live in compose state, not intents.
What the assistant is doing, as the glyph shows it. announce doubles as the TalkBack description so the indicator is never the only channel (#10).
Properties
Debug-only clock override for marketing screenshots — when set, every clock widget below renders this instant instead of the real time, so digital, bold, dial and hands all screenshot showing the same chosen time. Null (the default) means real time; only app/src/debug/.../MarketingPreviewActivity ever sets it.
Functions
The dial clock (#15), final form:
The assistant's state, drawn in the dial clock's language: a ring of thin radial ticks around an empty centre. Monochrome, line-only — the fancy part is motion, not decoration.
The quiet digital clock: thin h:mm, nothing else.
Opens the quick-settings shade (hidden StatusBarManager API, like the notification pull).
Foyer's AI state indicator (#18): a constructed glyph in the wordmark's parts kit — thin vertical strokes, one horizontal bar, a small circle. Motion is Manhattan only: everything moves along axes and snaps in discrete steps (metronome, not lava lamp). No blob, no glow.
Foyer's reusable bottom sheet — the one pop-up surface for long-press menus and pickers. Foundation-only (no Material): spring slide-up, drag-to-dismiss, scrim tap / back to close with the reverse animation, long-press haptic on open. title is the muted header tag (usually the app label).
Icon-only action (Tabler glyph) that keeps its text: label is the long-press tooltip and the content description, so the action stays nameable for TalkBack even though only the icon is drawn.
The lock-screen digital clock: just the time, large and heavy.
Renders the small markdown subset foyer's bundled documents use — headings, paragraphs, bullet lists, tables and inline bold / italic / code — in the settings design language. Tables become grouped card rows: first cell as the title, remaining cells joined into the subtitle.
The minimal analogue clock: one hairline circle and two hands, no ticks, no numerals. The hour hand drifts with the minutes so it never lies.
A non-interactive explanatory line inside a sheet.
One action row in a FoyerSheet. active marks a toggled-on state with an accent dot (and announces it), so state is visible without parsing the verb.