Skip to content

ADFA-6119 | Unify AI settings panes and fix dropdown chevrons - #106

Merged
jatezzz merged 3 commits into
mainfrom
fix/ADFA-6119-dropdown-chevron-openai-settings
Sep 25, 2026
Merged

jatezzz merged 3 commits into
mainfrom
fix/ADFA-6119-dropdown-chevron-openai-settings

Conversation

@jatezzz

@jatezzz jatezzz commented Sep 22, 2026 •

Copy link
Copy Markdown
Contributor

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.

  • Fixed the missing dropdown chevron on the OpenAI server preset and model fields.
  • Replaced the Gemini model picker Spinner with a TextInputLayout plus AutoCompleteTextView to match the OpenAI control.
  • Applied ic_dropdown programmatically via setEndIconDrawable() to bypass a Material 1.10 limitation where endIconMode="custom" fails to read the XML drawable.
  • Removed the "Current: X" label from the Gemini pane, as the text field itself now displays the active model.
  • Standardized the Gemini pane's buttons, labels, and margins using shared plugin styles like PluginButton.Filled, Plugin.SectionHeader, and shared space_* dimensions.
  • Ensured the Gemini model picker remains pick-only because its catalog is closed and there is no free-text model to type.
  • Unified the panes so users can visually recognize the interactive dropdown menus and experience a consistent IDE interface across AI backends.

Details

Before

Before.ADFA-6119.mp4

After

After.ADFA-6119.mp4

Ticket

ADFA-6119

@claude claude 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.

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.

@jatezzz
jatezzz requested review from a team, Daniel-ADFA and itsaky-adfa September 22, 2026 21:07
@jatezzz
jatezzz force-pushed the fix/ADFA-6119-dropdown-chevron-openai-settings branch 2 times, most recently from 9a89297 to 86b0f20 Compare September 23, 2026 17:59
…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.
@jatezzz
jatezzz force-pushed the fix/ADFA-6119-dropdown-chevron-openai-settings branch 2 times, most recently from 86b0f20 to 1a10999 Compare September 24, 2026 16:03

@Daniel-ADFA Daniel-ADFA left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

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.

Comment thread plugins/AI-Agent-Gemini/src/main/res/layout/fragment_gemini_settings.xml Outdated
Comment thread plugins/AI-Agent-Gemini/src/main/res/values/dimens.xml Outdated

@Daniel-ADFA Daniel-ADFA left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

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.

jatezzz and others added 2 commits September 25, 2026 08:16
Reword endIconDrawable comments, let pick-only model fields wrap, drop unused radius_lg.
@jatezzz
jatezzz merged commit 31191a8 into main Sep 25, 2026
1 check passed
@jatezzz
jatezzz deleted the fix/ADFA-6119-dropdown-chevron-openai-settings branch September 25, 2026 14:47
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.

3 participants