Skip to content

Implement multi-form-factor presentation separation & compile-time layout contracts#32

Open
pflammertsma wants to merge 1 commit into
android:mainfrom
pflammertsma:feature/layout-contracts
Open

Implement multi-form-factor presentation separation & compile-time layout contracts#32
pflammertsma wants to merge 1 commit into
android:mainfrom
pflammertsma:feature/layout-contracts

Conversation

@pflammertsma

@pflammertsma pflammertsma commented Jul 17, 2026

Copy link
Copy Markdown
Member

What I have done and why

  • Add FormFactor enum capability resolver supporting TV, Mobile, Wear, Auto, and XR.
  • Modularize screen presentation into isolated mobile/ and tv/ packages.
  • Implement compile-time layout contracts (DebuggingScreenLayout, AgentDemoScreenLayout, SettingsScreenLayout, ConnectedAppsScreenLayout).
  • Add D-Pad focus handling, stationary dialog container, and widescreen side-by-side layout for TV.
  • Update vector assets and Leanback banner launcher metadata.

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces adaptive layout support for Android TV across the App Functions Agent application. It refactors key screens (Agent Demo, Connected Apps, Debugging, and Settings) into interface contracts with separate Mobile and TV implementations, adds TV-specific components like TvSurfaceTextField, and updates the main navigation to adapt to the TV form factor. The review feedback focuses on improving the Android TV D-pad navigation experience, specifically addressing focus loss when exiting editing mode or closing dropdowns, resolving nested focus issues with switches, and ensuring card highlights persist when child inputs are focused.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.

@pflammertsma pflammertsma changed the title feat: Implement multi-form-factor presentation separation & compile-time layout contracts Implement multi-form-factor presentation separation & compile-time layout contracts Jul 17, 2026
…ime layout contracts

- Add FormFactor enum capability resolver supporting TV, Mobile, Wear, Auto, and XR.
- Modularize screen presentation into isolated mobile/ and tv/ packages.
- Implement compile-time layout contracts (DebuggingScreenLayout, AgentDemoScreenLayout, SettingsScreenLayout, ConnectedAppsScreenLayout).
- Add D-Pad focus handling, stationary dialog container, and widescreen side-by-side layout for TV.
- Update vector assets and Leanback banner launcher metadata.

TAG=agy
CONV=2bd6b504-08a0-463f-9439-1c30216f4e02
@pflammertsma
pflammertsma force-pushed the feature/layout-contracts branch from eebb288 to d0bc8df Compare July 17, 2026 13:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant