Task/Issue URL:
https://app.asana.com/1/137249556945/project/1200581511062568/task/1216049683101111?focus=true
Tech Design URL (if applicable):
### Description
Updates [Duck.ai](http://Duck.ai) settings copy and UI to reflect the
latest changes:
- Input screen toggle label — When the aiFeaturesNativeControls flag is
enabled, the "with AI" toggle option now reads "Toggle between Search
and [Duck.ai](http://Duck.ai)". When the flag is off, it keeps the
existing "Search & [Duck.ai](http://Duck.ai)" label.
- "Use DuckDuckGo Without AI" copy — Reworded the enabled- and
disabled-state descriptions to clarify that image search now filters
known AI spam sites (rather than hiding all AI-generated images).
- "Hide AI-Generated Images" dialog — The description now ends with a
tappable "Learn more" hyperlink that opens the help page in a WebView:
https://duckduckgo.com/duckduckgo-help-pages/results/how-to-filter-out-ai-images-in-duckduckgo-search-results
This required adding setClickableMessage(...) support to the shared
RadioListAlertDialogBuilder (mirroring the existing
TextAlertDialogBuilder API), since the radio-list dialog previously had
no way to render a clickable link in its message.
Added a unit test covering the new "Learn more" command emission.
### Steps to test this PR
1. Open Settings → AI Features
2. Toggle label (flag ON): With aiFeaturesNativeControls enabled,
confirm the input-screen toggle shows "Toggle between Search and
[Duck.ai](http://Duck.ai)". With the flag disabled, confirm it shows
"Search & [Duck.ai](http://Duck.ai)".
3. "Use Without AI" copy: Verify the "Use DuckDuckGo Without AI" item
description reads "…and filters known AI spam sites in image search
results." Disable AI and confirm the disabled-state description reads
"…and see fewer AI-generated images in image search results."
4. Learn more link: With aiFeaturesNativeControls enabled, tap Hide
AI-Generated Images to open the native dialog. Confirm "Learn more"
appears as a blue underlined link at the end of the description, and
tapping it opens the help page in a WebView.
5. Confirm the rest of the dialog (ON/OFF radio options, Save/Cancel)
still behaves correctly.
### UI changes
| Webpage opened from "Learn More" | New copy and "Learn More" link |
| --- | --- |
|<img width="1080" height="2424" alt="Screenshot_20260626_162728"
src="https://github.com/user-attachments/assets/14b067e7-70c3-4285-9dba-f6e15c49383e"
/>|<img width="1080" height="2424" alt="Screenshot_20260626_162722"
src="https://github.com/user-attachments/assets/ace79a5f-c08b-4e74-bfc4-ef0fe0c48b06"
/>|
|New copy for "Toggle Between Search and Duck.ai. New copy for Use
DuckDuckGo Without AI (enabled) | New copy for Use DuckDuckGo Without AI
(disabled) |
| --- | --- |
|<img width="1080" height="2424" alt="Screenshot_20260626_162648"
src="https://github.com/user-attachments/assets/5656ce76-f5dd-498c-97d6-44e76df607e4"
/>|<img width="1080" height="2424" alt="Screenshot_20260626_162702"
src="https://github.com/user-attachments/assets/61d61128-ba4f-4f51-8d17-1bb3670c60ae"
/>|
<!-- CURSOR_SUMMARY -->
---
> [!NOTE]
> **Low Risk**
> Mostly strings, layout IDs, and a shared dialog helper patterned after
existing TextAlertDialogBuilder; no auth, persistence, or SERP setting
logic changes beyond opening a help URL.
>
> **Overview**
> Updates **Duck.ai / AI Features** settings strings and UI to match
current product messaging around image search filtering and the
input-screen toggle.
>
> **Shared dialog:** `RadioListAlertDialogBuilder` gains
**`setClickableMessage(...)`** (annotation-based spans, accent styling,
`LinkMovementMethod`) so radio-list dialogs can show tappable links like
`TextAlertDialogBuilder` already does.
>
> **Hide AI-Generated Images:** The native dialog uses new
title/description strings; description includes a **Learn more** link
that opens a help-page `OpenLink` via
`onHideAiGeneratedImagesLearnMoreClicked()`.
>
> **Input screen toggle:** When `aiFeaturesNativeControls` is on, the
“with AI” caption is set at runtime to **“Toggle between Search and
Duck.ai”** (layout exposes `duckAiInputScreenToggleWithAiText` for
this).
>
> **Copy:** “Use DuckDuckGo Without AI” enabled/disabled descriptions
now describe **filtering known AI spam sites** / **fewer AI-generated
images** rather than hiding all AI images.
>
> A ViewModel unit test covers Learn more link command emission.
>
> <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit
3fd3abf0b1b59769d800babaedd0baa0370794de. Bugbot is set up for automated
code reviews on this repo. Configure
[here](https://www.cursor.com/dashboard/bugbot).</sup>
<!-- /CURSOR_SUMMARY -->