Skip to content

Visual Editor - Settings Screen Presentation Update - #6987

Open
voyagerfan wants to merge 17 commits into
mainfrom
update-ve-settings-screen
Open

voyagerfan wants to merge 17 commits into
mainfrom
update-ve-settings-screen

Conversation

@voyagerfan

@voyagerfan voyagerfan commented Oct 9, 2026 •

Copy link
Copy Markdown
Collaborator

What does this do?

This PR updates the settings screen per the design provided in T434149 by replacing the dialog pop up with a dedicated settings screen.

Why is this needed?

To align with the layout/formatting with existing settings screens

Phabricator:
https://phabricator.wikimedia.org/T434149

@voyagerfan voyagerfan added the WIP Work in progress label Oct 9, 2026
@voyagerfan voyagerfan changed the title initial draft of visual editor settings screen Visual Editor - Settings Screen Presentation Update Oct 9, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🟡 Changes recommended

The new Compose flow performs preference and analytics side effects directly in UI code instead of using the required backing ViewModel.

1 open finding
What changed in this PR

Replaces the visual-editor preference dialog with a dedicated Compose settings screen.

Changes:

  • Adds the new settings activity and manifest entry.
  • Saves editor selection immediately and updates analytics.
  • Simplifies the remaining editor-choice dialog.
File Description
strings.xml Removes the obsolete Save label.
values-qq/​strings.xml Removes obsolete localization guidance.
VisualEditorSettingsActivity.kt Adds the Compose settings screen.
SettingsPreferenceLoader.kt Opens the screen and logs interaction.
PageActivity.kt Adapts to the simplified dialog API.
EditorChoiceDialog.kt Shares editor-choice UI with the screen.
AndroidManifest.xml Registers the new activity.

🧠 Review effort: Balanced


💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment on lines +116 to +121
if (isInSettingsScreen && Prefs.editorModeChoice != editorChoice) {
Prefs.editorModeChoice = editorChoice
instrument.submitInteraction(
action = "click",
actionSource = "settings",
elementId = if (editorChoice == EDITOR_CHOICE_VE) "visual_editing" else "source_editing"

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Keeping as is for now. The settings screen only deals with 1 pref. Hoisting the side effects would create a second callback alongside onConfirm.

@voyagerfan voyagerfan added Ready for Review and removed WIP Work in progress labels Oct 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Development

Successfully merging this pull request may close these issues.

3 participants