-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Cleanup the code to remove the experiments and use new feature flags #6777
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Cleanup the code to remove the experiments and use new feature flags #6777
Conversation
This stack of pull requests is managed by Graphite. Learn more about stacking. |
…of experimental widget.
…and rename for clarity.
…ces from SettingsViewModel.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
Refactored the widget experiment infrastructure by replacing experiment-based approach with feature toggles. This cleanup removes complex experiment tracking code and introduces simpler toggle-based implementations.
- Removed experiment classes and their tracking infrastructure
- Migrated to feature toggle-based widget control
- Updated all dependencies to use new toggle interfaces
Reviewed Changes
Copilot reviewed 22 out of 22 changed files in this pull request and generated 2 comments.
Show a summary per file
File | Description |
---|---|
SystemSearchViewModel.kt | Removed widget experiment tracking calls and constructor dependencies |
SettingsViewModel.kt | Replaced experiment with toggle-based widget prompt detection |
CtaViewModel.kt | Updated to use toggle interface instead of experiment class |
SearchWidgetLifecycleDelegate.kt | Removed experiment tracking from widget lifecycle methods |
BrowserTabFragment.kt | Updated import and dialog class name references |
PostCtaExperienceToggles.kt | New toggle interface for post-CTA experience features |
OnboardingHomeScreenWidgetToggles.kt | New toggle interface for onboarding widget features |
AlternativeHomeScreenWidgetBottomSheetDialog.kt | Moved and renamed dialog class with corrected imports |
Test files | Updated all test files to use new toggle interfaces instead of mock experiments |
app/src/main/java/com/duckduckgo/widget/SearchWidgetLifecycleDelegate.kt
Show resolved
Hide resolved
...ckduckgo/app/browser/ui/dialogs/widgetprompt/AlternativeHomeScreenWidgetBottomSheetDialog.kt
Show resolved
Hide resolved
…and update bindings.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great cleanup and works as expected 🙌
Task/Issue URL: https://app.asana.com/1/137249556945/project/1200581511062568/task/1210824886441068?focus=true
Description
Refactored the widget-related experiment implementation by replacing the experiment-based approach with feature toggles.
OnboardingHomeScreenWidgetExperiment
andPostCtaExperienceExperiment
classes and their implementationsOnboardingHomeScreenWidgetToggles
andPostCtaExperienceToggles
interfaces to use simple feature togglesThe PR removes complex experiment tracking code and replaces it with a more straightforward feature toggle implementation, making the codebase more maintainable and easier to understand.
Steps to test this PR
NO UI changes, reference screenshots