ADFA-6119 | Unify AI settings panes and fix dropdown chevrons - #106
Conversation
There was a problem hiding this comment.
Claude Code Review
This repository is configured for manual code reviews. Comment @claude review for a one-time review, or @claude review always to subscribe this PR to a review on every future push.
Tip: disable this comment in your organization's Code Review settings.
9a89297 to
86b0f20
Compare
…6119] Material 1.10 ignores app:endIconDrawable, so the chevron is set in code on the OpenAI preset and model fields. Gemini's Spinner becomes the same control and its pane moves onto the shared button, text and spacing styles.
86b0f20 to
1a10999
Compare
Daniel-ADFA
left a comment
There was a problem hiding this comment.
MINOR
- GeminiSettingsFragment.kt:586 - the "Material 1.10 never reads app:endIconDrawable" explanation is wrong (the same claim appears in four places)
- fragment_gemini_settings.xml:143 -
maxLines="1"probably clips long model names at font scale 2.0 (not checked on a device)
NITPICK - 1 inline, not listed
The core change holds up: the dropdown uses the non-filtering setText(..., false) everywhere, the field is pick-only, and it doesn't save or restore its own text, so the list isn't filtered down to the selected entry after a day/night switch. setupDropdownEndIcon runs before both end-icon listeners are attached, so a mode reset can't wipe them. Migrating off a retired model is still limited to live catalogs. The dispose() change in OpenAI matches what GeminiPlugin already does.
This repo has no written approve/request-changes rule, so the default applied: only MINOR findings, so this is a comment rather than approval or request for changes. No earlier review findings to re-check. Reviewed at 1a10999.
Daniel-ADFA
left a comment
There was a problem hiding this comment.
Approving: the two MINOR comments are fine as follow-ups. Please fix the endIconDrawable explanation and check the model field at font scale 2.0 before the next change to these panes.
Reword endIconDrawable comments, let pick-only model fields wrap, drop unused radius_lg.
Description
This PR unifies the visual design of the AI settings panes and fixes an issue where dropdown chevrons were missing due to a Material 1.10 XML limitation. By adopting shared plugin styles and replacing the legacy Gemini spinner, both backends now offer a consistent, interactive, and intuitive user experience.
Spinnerwith aTextInputLayoutplusAutoCompleteTextViewto match the OpenAI control.ic_dropdownprogrammatically viasetEndIconDrawable()to bypass a Material 1.10 limitation whereendIconMode="custom"fails to read the XML drawable.PluginButton.Filled,Plugin.SectionHeader, and sharedspace_*dimensions.Details
Before
Before.ADFA-6119.mp4
After
After.ADFA-6119.mp4
Ticket
ADFA-6119