Skip to content

Commit 680346a

Browse files
Update Duck.ai / AI Features settings page (#6586)
Task/Issue URL: https://app.asana.com/1/137249556945/project/1208671518894266/task/1210936892801207?focus=true ### Description This PR updates the Duck.ai / AI Features page. 1. Updates the settings activity title, activity main logo/icon, and update to the main Duck.ai toggle's copy. 2. Moves Duck.ai shortcut toggles to a dedicated screen. 3. Updates the Input Screen toggle to a pair of radio buttons with pictograms. ### Steps to test this PR - [x] Install a clean, internal build. - [x] Verify the Input Screen is disabled (no Search/Duck.ai switch when focusing on the omnibar). - [x] Verify there's a Duck.ai button directly in the address bar. - [x] Open "Settings -> AI Feature". - [x] Verify that activity title is AI Features. - [x] Verify that the logo is the new "AI Features" logo. - [x] Verify the primary Duck.ai toggle copy matches the design. - [x] Change the setting to "Search & Duck.ai (Experimental)". - [x] Click "Share Feedback" and verify that the feedback form opens. - [x] Go back and click "Duck.ai Shortcuts". - [x] Verify that a new activity with Menu and Address Bar toggles opens. - [x] Disable Address Bar toggle. - [x] Go back to the browser. - [x] Verify there's no Duck.ai button in the address bar. - [x] Verify that focusing on the omnibar opens the Input Screen with Search.Duck.ai switch. --------- Co-authored-by: Dax The Translator <[email protected]>
1 parent 64c510a commit 680346a

File tree

54 files changed

+1290
-304
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

54 files changed

+1290
-304
lines changed

.maestro/input_screen/input_screen_chat_mode.yaml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,7 @@ tags:
1414
# enable the Input Screen
1515
- runFlow: ../shared/open_ai_settings_screen.yaml
1616
- tapOn:
17-
id: "trailingSwitch"
18-
childOf:
19-
id: "duckAiInputScreenEnabledToggle"
17+
id: "duckAiInputScreenToggleWithAiImage"
2018
- action: back
2119
- action: back
2220

.maestro/input_screen/input_screen_preference_management.yaml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,7 @@ tags:
2020
# enable the Input Screen
2121
- runFlow: ../shared/open_ai_settings_screen.yaml
2222
- tapOn:
23-
id: "trailingSwitch"
24-
childOf:
25-
id: "duckAiInputScreenEnabledToggle"
23+
id: "duckAiInputScreenToggleWithAiImage"
2624
- action: back
2725
- action: back
2826

.maestro/input_screen/input_screen_search_mode.yaml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,7 @@ tags:
1414
# enable the Input Screen
1515
- runFlow: ../shared/open_ai_settings_screen.yaml
1616
- tapOn:
17-
id: "trailingSwitch"
18-
childOf:
19-
id: "duckAiInputScreenEnabledToggle"
17+
id: "duckAiInputScreenToggleWithAiImage"
2018
- action: back
2119
- action: back
2220

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
<!--
2+
~ Copyright (c) 2025 DuckDuckGo
3+
~
4+
~ Licensed under the Apache License, Version 2.0 (the "License");
5+
~ you may not use this file except in compliance with the License.
6+
~ You may obtain a copy of the License at
7+
~
8+
~ http://www.apache.org/licenses/LICENSE-2.0
9+
~
10+
~ Unless required by applicable law or agreed to in writing, software
11+
~ distributed under the License is distributed on an "AS IS" BASIS,
12+
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
~ See the License for the specific language governing permissions and
14+
~ limitations under the License.
15+
-->
16+
17+
<vector xmlns:android="http://schemas.android.com/apk/res/android"
18+
android:width="24dp"
19+
android:height="24dp"
20+
android:viewportWidth="24"
21+
android:viewportHeight="24">
22+
<path
23+
android:pathData="M12,2C6.477,2 2,6.477 2,12s4.477,10 10,10 10,-4.477 10,-10S17.523,2 12,2Z"
24+
android:fillColor="?attr/daxColorAccentBlue"/>
25+
<path
26+
android:pathData="M16.775,9.214c0.296,0.29 0.3,0.765 0.011,1.06l-4.494,4.589c-0.785,0.8 -2.074,0.8 -2.859,0l-2.219,-2.265a0.75,0.75 0,0 1,1.072 -1.05l2.219,2.265c0.196,0.2 0.519,0.2 0.715,0l4.494,-4.588a0.75,0.75 0,0 1,1.061 -0.01Z"
27+
android:fillColor="?attr/daxColorAccentContentPrimary"/>
28+
</vector>
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
<vector xmlns:android="http://schemas.android.com/apk/res/android"
2+
android:width="24dp"
3+
android:height="24dp"
4+
android:viewportWidth="24"
5+
android:viewportHeight="24">
6+
<path
7+
android:pathData="M12,2C17.523,2 22,6.477 22,12C22,17.523 17.523,22 12,22C6.477,22 2,17.523 2,12C2,6.477 6.477,2 12,2ZM12,3.5C7.306,3.5 3.5,7.306 3.5,12C3.5,16.694 7.306,20.5 12,20.5C16.694,20.5 20.5,16.694 20.5,12C20.5,7.306 16.694,3.5 12,3.5Z"
8+
android:fillColor="?attr/daxColorIconDisabled"
9+
android:fillType="evenOdd"/>
10+
</vector>

common/common-ui/src/main/res/values/design-experiments-colors.xml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,9 @@
2121
<!-- Inside each category there are different colors, which define where are applied -->
2222

2323
<!-- Dark Palette -->
24+
<!-- Accents -->
25+
<color name="accent_content_primary_dark">@color/blue80</color>
26+
2427
<!-- Backgrounds -->
2528
<color name="background_background_dark">#27282A</color>
2629
<color name="background_surface_dark">#333538</color>
@@ -47,6 +50,9 @@
4750
<color name="controls_decoration_tertiary_dark">#B8F9F9F9</color>
4851

4952
<!-- Light Palette -->
53+
<!-- Accents -->
54+
<color name="accent_content_primary_light">@color/white</color>
55+
5056
<!-- Backgrounds -->
5157
<color name="background_background_light">#F2F2F2</color>
5258
<color name="background_surface_light">#F9F9F9</color>

common/common-ui/src/main/res/values/design-experiments-theming.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@
4040
<item name="daxColorControlFillPrimary">@color/controls_fill_primary_dark</item>
4141
<item name="daxColorControlFillSecondary">@color/controls_fill_secondary_dark</item>
4242
<item name="daxColorControlFillTertiary">@color/controls_fill_tertiary_dark</item>
43+
<item name="daxColorControlDecorationTertiary">@color/controls_decoration_tertiary_dark</item>
4344

4445
<!-- Widgets -->
4546
<item name="daxColorToolbar">?attr/daxColorBackground</item>
@@ -83,6 +84,7 @@
8384
<item name="daxColorControlFillPrimary">@color/controls_fill_primary_light</item>
8485
<item name="daxColorControlFillSecondary">@color/controls_fill_secondary_light</item>
8586
<item name="daxColorControlFillTertiary">@color/controls_fill_tertiary_light</item>
87+
<item name="daxColorControlDecorationTertiary">@color/controls_decoration_tertiary_light</item>
8688

8789
<!-- Widgets -->
8890
<item name="daxColorToolbar">?attr/daxColorBackground</item>

common/common-ui/src/main/res/values/design-system-colors.xml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@
6060
<attr name="daxColorLines" format="color"/>
6161
<attr name="daxColorAccentBlue" format="color"/>
6262
<attr name="daxColorAccentYellow" format="color"/>
63+
<attr name="daxColorAccentContentPrimary" format="color"/>
6364
<attr name="daxColorContainerDisabled" format="color"/>
6465
<attr name="daxColorTextDisabled" format="color"/>
6566
<attr name="daxColorRipple" format="color"/>
@@ -74,6 +75,7 @@
7475
<attr name="daxColorControlFillPrimary" format="color"/>
7576
<attr name="daxColorControlFillSecondary" format="color"/>
7677
<attr name="daxColorControlFillTertiary" format="color"/>
78+
<attr name="daxColorControlDecorationTertiary" format="color"/>
7779

7880
<attr name="daxColorButtonPrimaryContainer" format="color"/>
7981
<attr name="daxColorButtonPrimaryContainerPressed" format="color"/>
@@ -191,6 +193,7 @@
191193
<color name="blue50_14">#243969EF</color>
192194
<color name="blue60">#2B55CA</color>
193195
<color name="blue70">#1E42A4</color>
196+
<color name="blue80">#14307E</color>
194197

195198
<color name="black84">#D6000000</color>
196199
<color name="black60">#99000000</color>

common/common-ui/src/main/res/values/design-system-theming.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -181,6 +181,7 @@
181181
<item name="daxColorLines">@color/white9</item>
182182
<item name="daxColorAccentBlue">@color/blue30</item>
183183
<item name="daxColorAccentYellow">@color/yellow50</item>
184+
<item name="daxColorAccentContentPrimary">@color/accent_content_primary_dark</item>
184185
<item name="daxColorRipple">@color/white12</item>
185186
<item name="daxLogoTitleText">@color/white</item>
186187
<item name="daxOmnibarTextColorHighlight">@color/blue30_20</item>
@@ -289,6 +290,7 @@
289290
<item name="daxColorLines">@color/black9</item>
290291
<item name="daxColorAccentBlue">@color/blue50</item>
291292
<item name="daxColorAccentYellow">@color/yellow50</item>
293+
<item name="daxColorAccentContentPrimary">@color/accent_content_primary_light</item>
292294
<item name="daxColorRipple">@color/black6</item>
293295
<item name="daxLogoTitleText">@color/gray85</item>
294296
<item name="daxOmnibarTextColorHighlight">@color/blue50_20</item>

duckchat/duckchat-impl/src/main/AndroidManifest.xml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,15 @@
1818

1919
<application>
2020
<activity
21-
android:name="com.duckduckgo.duckchat.impl.ui.DuckChatSettingsActivity"
21+
android:name="com.duckduckgo.duckchat.impl.ui.settings.DuckChatSettingsActivity"
2222
android:exported="false"
2323
android:label="@string/duck_chat_title"
2424
android:parentActivityName="com.duckduckgo.app.settings.SettingsActivity" />
25+
<activity
26+
android:name="com.duckduckgo.duckchat.impl.ui.settings.DuckAiShortcutSettingsActivity"
27+
android:exported="false"
28+
android:label="@string/duck_ai_shortcut_settings_title"
29+
android:parentActivityName="com.duckduckgo.duckchat.impl.ui.settings.DuckChatSettingsActivity" />
2530
<activity
2631
android:name="com.duckduckgo.duckchat.impl.ui.DuckChatWebViewActivity"
2732
android:exported="false"

0 commit comments

Comments
 (0)