Repository navigation
refactor(mobile): share theme mapping across Android controls - #19217
Conversation
982df58 to
bb75e89
Compare
Thread transfer impact✅ Thread transfer remains within every enforced ceiling.
Baseline: unavailable · PR result: Scenario and decoded snapshot size10 historical turns, 5 command tools per turn, 878.9 KiB retained MCP result per historical turn, and a 1.05 MiB retained result in the measured turn.
Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed. |
ApprovabilityVerdict: Not approved Macroscope's review found this PR not approvable — This change applies a new resolved Material palette to many existing Android controls and switches custom-theme radio indicators to Compose rendering. Because it changes user-visible behavior across dialogs, menus, actions, switches, and buttons, the cross-cutting runtime impact warrants human review. No code changes detected at You can add or adjust custom eligibility rules. Learn more. |
bb75e89 to
b62b3b9
Compare
b62b3b9 to
583aaf7
Compare
Design-system progress
API adoption and Pen rendering are tracked separately. This is cumulative through this PR, not a claim that all native renderers are finished.
Custom Appearance cards stay. Segmented controls stay native. Composer, thread-row and task-tray redesigns remain deferred.
Problem
Android controls create separate Compose Hosts, which can use a generated Material palette instead of the selected app theme. Radio indicators work around this by drawing a custom control for every non-system theme.
Change
Use the shared themed Host in buttons, icon buttons, switches, radio indicators, loading indicators, confirmation dialogs, menus, and floating actions. Radio indicators can now use Compose for all themes. Existing cards, layouts, sizing, interactions, and explicit control colors stay in place. This applies through the existing shared components in settings, thread controls, and other screens.
Validation: Android native client rebuilt successfully; 65 focused theme/dependency tests, mobile typecheck, and targeted lint passed. React Doctor found no issues in the changed files (91/100). Verified radio selection in Keyboard, dialogs and menus, all six themes in light/dark, and switching to Material You. Radio indicators retain the existing text-accent contrast. iOS is unchanged.
Scope and approval
The external-contributor triaged-issue requirement does not apply to this maintainer-authored work. It was requested by Julius as the next mobile design-system layer, retaining custom cards and screen layouts. Scope is the existing Android controls listed above; iOS is unchanged. The theme matrix and before/after captures support human visual review. Macroscope flags this cross-cutting UI change for human review; this PR is not approved to merge.
Model: GPT-6.1. Harness: Codex.