Skip to content

Commit 3eac7f7

Browse files
authored
RMF: Add new placeholder for DuckAi plus (#6584)
Task/Issue URL: https://app.asana.com/1/137249556945/project/488551667048375/task/1211047862448575?focus=true ### Description Add new icon for Duck.ai plus ### Steps to test this PR - [x] Change `RemoteMessagingService` URL to `https://jsonblob.com/1352244855090372608` - [x] Fresh install - [x] Skip onboarding - [x] Check message placeholder looks correct ### UI changes | Before | After | | ------ | ----- | <img width="433" height="957" alt="Screenshot 2025-08-14 at 13 25 28" src="https://github.com/user-attachments/assets/1deb33a1-1217-4f71-b18c-ae9c51cf4b91" />|<img height="957" alt="Screenshot_20250814-132140" src="https://github.com/user-attachments/assets/04b94e8a-09ad-403c-8296-0e48379719a4" />|
1 parent 9c7c779 commit 3eac7f7

File tree

4 files changed

+52
-3
lines changed

4 files changed

+52
-3
lines changed

app/src/main/java/com/duckduckgo/app/browser/remotemessage/RemoteMessageMapper.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ import com.duckduckgo.remote.messaging.api.Content.Placeholder.APP_UPDATE
2828
import com.duckduckgo.remote.messaging.api.Content.Placeholder.CRITICAL_UPDATE
2929
import com.duckduckgo.remote.messaging.api.Content.Placeholder.DDG_ANNOUNCE
3030
import com.duckduckgo.remote.messaging.api.Content.Placeholder.DUCK_AI
31+
import com.duckduckgo.remote.messaging.api.Content.Placeholder.DUCK_AI_OLD
3132
import com.duckduckgo.remote.messaging.api.Content.Placeholder.MAC_AND_WINDOWS
3233
import com.duckduckgo.remote.messaging.api.Content.Placeholder.PRIVACY_SHIELD
3334
import com.duckduckgo.remote.messaging.api.Content.Placeholder.VISUAL_DESIGN_UPDATE
@@ -81,7 +82,8 @@ private fun Placeholder.drawable(isLightModeEnabled: Boolean): Int {
8182
APP_UPDATE -> R.drawable.ic_app_update
8283
MAC_AND_WINDOWS -> R.drawable.desktop_promo_artwork
8384
PRIVACY_SHIELD -> R.drawable.ic_privacy_pro
84-
DUCK_AI -> R.drawable.ic_duck_ai
85+
DUCK_AI_OLD -> R.drawable.ic_duck_ai
86+
DUCK_AI -> R.drawable.ic_duckai
8587
VISUAL_DESIGN_UPDATE -> if (isLightModeEnabled) {
8688
R.drawable.ic_visual_design_update_artwork_light
8789
} else {
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
<vector xmlns:android="http://schemas.android.com/apk/res/android"
2+
android:width="72dp"
3+
android:height="72dp"
4+
android:viewportWidth="96"
5+
android:viewportHeight="96">
6+
<path
7+
android:pathData="M63.44,18.428c0.804,-3.21 5.25,-3.31 6.28,-0.3l0.09,0.3 1.017,4.072a4.018,4.018 0,0 0,2.923 2.922l4.071,1.018c3.315,0.829 3.315,5.54 0,6.37l-1.485,0.37A31.857,31.857 0,0 1,80 48.057c0,17.673 -14.327,32 -32,32 -17.673,0 -32,-14.327 -32,-32 0,-17.673 14.327,-32 32,-32a31.857,31.857 0,0 1,15.089 3.776l0.351,-1.405Z"
8+
android:fillColor="#DE5833"/>
9+
<path
10+
android:pathData="M52.5,71.875c0,-0.25 0.061,-0.307 -0.733,-1.891 -2.112,-4.23 -4.235,-10.192 -3.27,-14.037 0.176,-0.699 -1.989,-25.872 -3.52,-26.683 -1.7,-0.907 -3.794,-2.345 -5.709,-2.665 -0.971,-0.155 -2.245,-0.082 -3.24,0.052 -0.178,0.024 -0.185,0.342 -0.016,0.4 0.654,0.221 1.448,0.606 1.915,1.187 0.089,0.11 -0.03,0.283 -0.171,0.288 -0.441,0.017 -1.241,0.202 -2.296,1.098 -0.123,0.104 -0.021,0.296 0.136,0.265 2.268,-0.449 4.585,-0.227 5.95,1.013 0.089,0.08 0.042,0.225 -0.073,0.257 -11.847,3.22 -9.502,13.525 -6.348,26.172 2.822,11.316 4.44,16.563 4.824,17.816 0.033,0.106 0.108,0.19 0.213,0.23C44.225,76.955 52.5,75.263 52.5,72.5v-0.625Z"
11+
android:fillColor="#DDD"
12+
android:fillType="evenOdd"/>
13+
<path
14+
android:pathData="M41.145,73.993c-0.683,-2.546 -3.08,-9.776 -5.321,-18.96l-0.224,-0.914 -0.002,-0.008c-2.712,-11.078 -4.927,-20.126 7.214,-22.968 0.111,-0.027 0.165,-0.16 0.092,-0.246 -1.393,-1.653 -4.003,-2.194 -7.302,-1.056 -0.136,0.046 -0.253,-0.09 -0.17,-0.206 0.648,-0.892 1.912,-1.577 2.536,-1.878 0.13,-0.062 0.122,-0.251 -0.015,-0.294a13.937,13.937 0,0 0,-1.886 -0.45c-0.184,-0.03 -0.201,-0.347 -0.016,-0.372 4.678,-0.629 9.563,0.776 12.014,3.863 0.024,0.03 0.057,0.05 0.093,0.058 8.977,1.927 9.62,16.117 8.585,16.763 -0.204,0.128 -0.857,0.055 -1.719,-0.042 -3.492,-0.39 -10.409,-1.164 -4.7,9.474 0.056,0.105 -0.019,0.244 -0.136,0.262 -3.208,0.5 0.877,10.518 3.906,17.162 1.17,2.569 -12.177,2.694 -12.95,-0.188Z"
15+
android:fillColor="#fff"
16+
android:fillType="evenOdd"/>
17+
<path
18+
android:pathData="M58.14,61.349c-0.683,-0.317 -3.31,1.568 -5.054,3.014 -0.365,-0.516 -1.052,-0.89 -2.602,-0.62 -1.357,0.235 -2.106,0.562 -2.44,1.126 -2.142,-0.812 -5.744,-2.065 -6.614,-0.855 -0.952,1.323 0.237,7.58 1.5,8.393 0.66,0.424 3.816,-1.604 5.464,-3.003 0.266,0.375 0.694,0.59 1.574,0.569 1.33,-0.031 3.489,-0.34 3.824,-0.96a0.688,0.688 0,0 0,0.053 -0.133c1.694,0.633 4.675,1.303 5.34,1.203 1.736,-0.261 -0.241,-8.362 -1.045,-8.734Z"
19+
android:fillColor="#3CA82B"/>
20+
<path
21+
android:pathData="M53.245,64.548a2.6,2.6 0,0 1,0.179 0.4c0.241,0.676 0.635,2.824 0.337,3.355 -0.297,0.53 -2.23,0.787 -3.422,0.808 -1.191,0.02 -1.46,-0.416 -1.701,-1.091 -0.193,-0.54 -0.288,-1.81 -0.286,-2.538 -0.049,-1.079 0.345,-1.458 2.167,-1.752 1.348,-0.219 2.06,0.035 2.472,0.47 1.914,-1.43 5.108,-3.445 5.419,-3.077 1.553,1.837 1.75,6.21 1.413,7.97 -0.11,0.575 -5.252,-0.57 -5.252,-1.19 0,-2.576 -0.669,-3.283 -1.326,-3.355ZM41.98,63.744c0.421,-0.667 3.837,0.162 5.712,0.996 0,0 -0.385,1.746 0.228,3.803 0.18,0.601 -4.314,3.278 -4.9,2.818 -0.678,-0.533 -1.925,-6.216 -1.04,-7.617Z"
22+
android:fillColor="#4CBA3C"/>
23+
<path
24+
android:pathData="M43.634,50.203c0.277,-1.201 1.564,-3.466 6.161,-3.41 2.324,-0.01 5.21,-0.002 7.125,-0.22a25.624,25.624 0,0 0,6.363 -1.547c1.99,-0.759 2.696,-0.59 2.943,-0.135 0.273,0.499 -0.048,1.36 -0.743,2.154 -1.329,1.516 -3.716,2.69 -7.933,3.038 -4.217,0.349 -7.01,-0.782 -8.213,1.06 -0.518,0.794 -0.117,2.666 3.96,3.255 5.511,0.795 10.037,-0.958 10.596,0.1 0.559,1.06 -2.662,3.215 -8.181,3.26 -5.52,0.045 -8.967,-1.933 -10.19,-2.916 -1.551,-1.247 -2.245,-3.066 -1.888,-4.639Z"
25+
android:fillColor="#FC3"
26+
android:fillType="evenOdd"/>
27+
<path
28+
android:pathData="M50.663,37.063c0.308,-0.504 0.991,-0.893 2.108,-0.893s1.643,0.445 2.007,0.94c0.074,0.101 -0.038,0.22 -0.153,0.17l-0.084,-0.036c-0.408,-0.179 -0.91,-0.398 -1.77,-0.41 -0.919,-0.013 -1.499,0.217 -1.864,0.416 -0.123,0.066 -0.316,-0.067 -0.243,-0.187ZM38.085,37.708c1.085,-0.453 1.938,-0.394 2.54,-0.252 0.127,0.03 0.216,-0.106 0.114,-0.188 -0.468,-0.378 -1.515,-0.846 -2.88,-0.337 -1.218,0.454 -1.793,1.398 -1.796,2.019 0,0.146 0.3,0.158 0.378,0.034 0.21,-0.334 0.56,-0.822 1.644,-1.276Z"
29+
android:strokeAlpha="0.8"
30+
android:fillColor="#14307E"
31+
android:fillAlpha="0.8"/>
32+
<path
33+
android:pathData="M53.72,43.96a1.735,1.735 0,0 1,-1.737 -1.73c0,-0.956 0.778,-1.731 1.737,-1.731 0.96,0 1.737,0.775 1.737,1.73s-0.778,1.73 -1.737,1.73ZM54.944,41.656a0.45,0.45 0,0 0,-0.9 0,0.45 0.45,0 0,0 0.9,0ZM42.212,43.427a2.021,2.021 0,0 1,-2.025 2.018,2.022 2.022,0 0,1 -2.025,-2.018c0,-1.115 0.908,-2.019 2.025,-2.019s2.025,0.904 2.025,2.019ZM41.615,42.757a0.523,0.523 0,0 0,-1.049 0,0.524 0.524,0 0,0 1.049,0Z"
34+
android:strokeAlpha="0.8"
35+
android:fillColor="#14307E"
36+
android:fillType="evenOdd"
37+
android:fillAlpha="0.8"/>
38+
<path
39+
android:pathData="M48,18.5a29.364,29.364 0,0 1,14.319 3.704,0.215 0.215,0 0,1 0.104,0.24c-0.077,0.308 -0.19,0.602 -0.334,0.877 -0.397,0.761 -1.376,0.84 -2.146,0.46A26.883,26.883 0,0 0,48 21c-14.678,0 -26.621,11.713 -26.991,26.303L21,48c0,14.911 12.088,27 27,27s27,-12.09 27,-27c0,-4.203 -0.961,-8.18 -2.674,-11.727 -0.364,-0.753 -0.294,-1.703 0.437,-2.111a4.02,4.02 0,0 1,0.987 -0.392,0.11 0.11,0 0,1 0.124,0.054A29.364,29.364 0,0 1,77.5 48c0,16.292 -13.208,29.5 -29.5,29.5S18.5,64.292 18.5,48c0,-16.293 13.208,-29.5 29.5,-29.5Z"
40+
android:fillColor="#fff"/>
41+
<path
42+
android:pathData="M65.866,18.978c0.198,-0.79 1.32,-0.79 1.518,0l1.017,4.07a6.518,6.518 0,0 0,4.743 4.743l4.07,1.018c0.79,0.198 0.79,1.32 0,1.518l-4.07,1.017a6.518,6.518 0,0 0,-4.743 4.743l-1.017,4.07c-0.198,0.79 -1.32,0.79 -1.518,0l-1.017,-4.07a6.518,6.518 0,0 0,-4.743 -4.743l-4.07,-1.017c-0.79,-0.198 -0.79,-1.32 0,-1.518l4.07,-1.018a6.518,6.518 0,0 0,4.742 -4.742l1.018,-4.07Z"
43+
android:fillColor="#fff"/>
44+
</vector>

remote-messaging/remote-messaging-api/src/main/java/com/duckduckgo/remote/messaging/api/RemoteMessage.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,8 @@ sealed class Content(val messageType: MessageType) {
8282
APP_UPDATE("AppUpdate"),
8383
MAC_AND_WINDOWS("NewForMacAndWindows"),
8484
PRIVACY_SHIELD("PrivacyShield"),
85-
DUCK_AI("Duck.ai"),
85+
DUCK_AI_OLD("Duck.ai"),
86+
DUCK_AI("DuckAi"),
8687
VISUAL_DESIGN_UPDATE("VisualDesignUpdate"),
8788
;
8889

remote-messaging/remote-messaging-impl/src/main/java/com/duckduckgo/remote/messaging/impl/mappers/RemoteMessageMapper.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ import com.duckduckgo.remote.messaging.api.Content.Placeholder.APP_UPDATE
2828
import com.duckduckgo.remote.messaging.api.Content.Placeholder.CRITICAL_UPDATE
2929
import com.duckduckgo.remote.messaging.api.Content.Placeholder.DDG_ANNOUNCE
3030
import com.duckduckgo.remote.messaging.api.Content.Placeholder.DUCK_AI
31+
import com.duckduckgo.remote.messaging.api.Content.Placeholder.DUCK_AI_OLD
3132
import com.duckduckgo.remote.messaging.api.Content.Placeholder.MAC_AND_WINDOWS
3233
import com.duckduckgo.remote.messaging.api.Content.Placeholder.PRIVACY_SHIELD
3334
import com.duckduckgo.remote.messaging.api.Content.Placeholder.VISUAL_DESIGN_UPDATE
@@ -81,7 +82,8 @@ private fun Placeholder.drawable(isLightModeEnabled: Boolean): Int {
8182
APP_UPDATE -> R.drawable.ic_app_update
8283
MAC_AND_WINDOWS -> R.drawable.desktop_promo_artwork
8384
PRIVACY_SHIELD -> R.drawable.ic_privacy_pro
84-
DUCK_AI -> R.drawable.ic_duck_ai
85+
DUCK_AI_OLD -> R.drawable.ic_duck_ai
86+
DUCK_AI -> R.drawable.ic_duckai
8587
VISUAL_DESIGN_UPDATE -> if (isLightModeEnabled) {
8688
R.drawable.ic_visual_design_update_artwork_light
8789
} else {

0 commit comments

Comments
 (0)