Skip to content

Onboarding Brand Design Update: Add in-context No Trackers dialog#8481

Draft
mikescamell wants to merge 2 commits into
feature/mike/onboarding-brand-design-updates/contextual-main-networkfrom
feature/mike/onboarding-brand-design-updates/contextual-no-trackers
Draft

Onboarding Brand Design Update: Add in-context No Trackers dialog#8481
mikescamell wants to merge 2 commits into
feature/mike/onboarding-brand-design-updates/contextual-main-networkfrom
feature/mike/onboarding-brand-design-updates/contextual-no-trackers

Conversation

@mikescamell
Copy link
Copy Markdown
Contributor

@mikescamell mikescamell commented May 7, 2026

Task/Issue URL: https://app.asana.com/1/137249556945/project/1207908166761516/task/1214598065379693?focus=true

Description

Migrates the No Trackers contextual onboarding dialog to the new brand-design layout introduced in #8439, gated behind the onboardingBrandDesignUpdate feature flag.

With the flag on:

  • No Trackers CTA renders in the new card chrome with title and body as distinct blocks.
  • Reuses the post-page-load CTA background banner introduced for Trackers Blocked — slides up from behind the card on appear, slides out on dismiss / content swap.

Out of scope (still legacy / stub-only with the flag on, queued in follow-up PRs in this stack): fire-button, end. Their Dax*BrandDesignUpdateContextualCta classes remain as scaffolding.

Steps to test this PR

Designs

Please run all testing steps for in-context dialog changes from the contextual-end branch/PR to ease the testing burden.

To see these changes patch (Linear onboarding flag included just for continuity)

Index: app/src/main/java/com/duckduckgo/app/onboardingbranddesignupdate/OnboardingBrandDesignUpdateToggles.kt
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/app/src/main/java/com/duckduckgo/app/onboardingbranddesignupdate/OnboardingBrandDesignUpdateToggles.kt b/app/src/main/java/com/duckduckgo/app/onboardingbranddesignupdate/OnboardingBrandDesignUpdateToggles.kt
--- a/app/src/main/java/com/duckduckgo/app/onboardingbranddesignupdate/OnboardingBrandDesignUpdateToggles.kt	(revision 6fd565c8894daba16281ae9bcf3452d038ae8d6d)
+++ b/app/src/main/java/com/duckduckgo/app/onboardingbranddesignupdate/OnboardingBrandDesignUpdateToggles.kt	(date 1777967047929)
@@ -34,13 +34,13 @@
      * Main toggle for the onboarding brand design update feature.
      * Default value: false (disabled).
      */
-    @Toggle.DefaultValue(DefaultFeatureValue.FALSE)
+    @Toggle.DefaultValue(DefaultFeatureValue.TRUE)
     fun self(): Toggle
 
     /**
      * Toggle for the brand design update variant.
      * Default value: false (disabled).
      */
-    @Toggle.DefaultValue(DefaultFeatureValue.FALSE)
+    @Toggle.DefaultValue(DefaultFeatureValue.TRUE)
     fun brandDesignUpdate(): Toggle
 }
Index: app/src/main/java/com/duckduckgo/app/onboarding/ui/OnboardingViewModel.kt
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/app/src/main/java/com/duckduckgo/app/onboarding/ui/OnboardingViewModel.kt b/app/src/main/java/com/duckduckgo/app/onboarding/ui/OnboardingViewModel.kt
--- a/app/src/main/java/com/duckduckgo/app/onboarding/ui/OnboardingViewModel.kt	(revision 6fd565c8894daba16281ae9bcf3452d038ae8d6d)
+++ b/app/src/main/java/com/duckduckgo/app/onboarding/ui/OnboardingViewModel.kt	(date 1777657893440)
@@ -45,7 +45,7 @@
     val viewState = _viewState.asStateFlow()
 
     fun initializePages() {
-        pageLayoutManager.buildPageBlueprints()
+        pageLayoutManager.buildBrandDesignUpdatePageBlueprints()
     }
 
     fun pageCount(): Int {
@@ -69,8 +69,8 @@
         }
     }
 
-    fun initializeOnboardingSkipper() {
-        if (!appBuildConfig.canSkipOnboarding) return
+    fun initializeOnboardingSkipper() { 
+        return
 
         // delay showing skip button until privacy config downloaded
         viewModelScope.launch {

UI changes

Screenshots


Note

Low Risk
Low risk: gated behind the onboarding brand-design feature toggle and limited to onboarding CTA UI rendering/selection plus unit tests; main risk is incorrect CTA selection or layout binding when the flag is enabled.

Overview
Updates in-context onboarding to use the new brand-design layout for the “No Trackers” CTA when the brand-design toggle is enabled, while preserving the legacy DaxNoTrackersCta path when disabled.

Implements DaxNoTrackersBrandDesignUpdateContextualCta with the new card content wiring (HTML description text, primary CTA click handling, and a background banner resource), and adds an instrumentation test suite validating toggle-driven selection and pixel firing for shown/OK/close events.

Reviewed by Cursor Bugbot for commit d6c77f4. Bugbot is set up for automated code reviews on this repo. Configure here.

@mikescamell mikescamell changed the title feat(onboarding): migrate DaxNoTrackersCta to brand-design contextual dialog Onboarding Brand Design Update: Add in-context No Trackers dialog May 7, 2026
@mikescamell mikescamell changed the base branch from feature/mike/onboarding-brand-design-updates/contextual-main-network to graphite-base/8481 May 7, 2026 14:56
@mikescamell mikescamell force-pushed the feature/mike/onboarding-brand-design-updates/contextual-no-trackers branch from fd3becf to 8856449 Compare May 7, 2026 14:57
@mikescamell mikescamell force-pushed the graphite-base/8481 branch from cc16580 to 071b244 Compare May 7, 2026 14:57
@mikescamell mikescamell changed the base branch from graphite-base/8481 to feature/mike/onboarding-brand-design-updates/contextual-main-network May 7, 2026 14:57
@mikescamell mikescamell changed the base branch from feature/mike/onboarding-brand-design-updates/contextual-main-network to graphite-base/8481 May 7, 2026 17:14
@mikescamell mikescamell force-pushed the graphite-base/8481 branch from 071b244 to 64da96e Compare May 7, 2026 17:14
@mikescamell mikescamell force-pushed the feature/mike/onboarding-brand-design-updates/contextual-no-trackers branch from 8856449 to 2be56dc Compare May 7, 2026 17:15
@mikescamell mikescamell changed the base branch from graphite-base/8481 to feature/mike/onboarding-brand-design-updates/contextual-main-network May 7, 2026 17:15
@mikescamell mikescamell changed the base branch from feature/mike/onboarding-brand-design-updates/contextual-main-network to graphite-base/8481 May 7, 2026 17:39
@mikescamell mikescamell force-pushed the graphite-base/8481 branch from 64da96e to ec42745 Compare May 7, 2026 17:40
@mikescamell mikescamell force-pushed the feature/mike/onboarding-brand-design-updates/contextual-no-trackers branch from 2be56dc to 6ddfea5 Compare May 7, 2026 17:40
@mikescamell mikescamell changed the base branch from graphite-base/8481 to feature/mike/onboarding-brand-design-updates/contextual-main-network May 7, 2026 17:40
@mikescamell mikescamell force-pushed the feature/mike/onboarding-brand-design-updates/contextual-main-network branch from ec42745 to 6e285f7 Compare May 8, 2026 16:14
@mikescamell mikescamell force-pushed the feature/mike/onboarding-brand-design-updates/contextual-no-trackers branch from 6ddfea5 to 4216fc8 Compare May 8, 2026 16:14
@mikescamell mikescamell force-pushed the feature/mike/onboarding-brand-design-updates/contextual-main-network branch from 6e285f7 to e306f79 Compare May 11, 2026 11:42
@mikescamell mikescamell force-pushed the feature/mike/onboarding-brand-design-updates/contextual-no-trackers branch from 4216fc8 to fba4c97 Compare May 11, 2026 11:42
@mikescamell mikescamell force-pushed the feature/mike/onboarding-brand-design-updates/contextual-main-network branch from e306f79 to d0d5650 Compare May 11, 2026 12:06
@mikescamell mikescamell force-pushed the feature/mike/onboarding-brand-design-updates/contextual-no-trackers branch from fba4c97 to 87c0686 Compare May 11, 2026 12:06
@mikescamell mikescamell force-pushed the feature/mike/onboarding-brand-design-updates/contextual-main-network branch from d0d5650 to 3c09cc1 Compare May 12, 2026 16:44
@mikescamell mikescamell force-pushed the feature/mike/onboarding-brand-design-updates/contextual-no-trackers branch 2 times, most recently from 080f06d to 569bb3c Compare May 12, 2026 17:14
@mikescamell mikescamell force-pushed the feature/mike/onboarding-brand-design-updates/contextual-main-network branch from 3c09cc1 to 538855a Compare May 12, 2026 17:14
@mikescamell mikescamell force-pushed the feature/mike/onboarding-brand-design-updates/contextual-no-trackers branch from 569bb3c to d6c77f4 Compare May 12, 2026 17:38
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.

1 participant