Commit bbe7dd0e authored by Li Lin's avatar Li Lin Committed by Commit Bot

Add feature flag to gate Quick Answers setting sub toggle.

Based on UI review feedback, we want to expand the scope of related info
setting toggle and remove the Quick Answers sub toggle.

We are going to proceed with two steps:
1. Gate the sub toggle with feature flag that is disabled by default in
case we want to turn it on.
2. Clean up the sub toggle code after launch and confirmed that it
doesn't significantly impact related info opt in rate.

This CL is the first step.

Bug: b/159166868
Test: unit tests
Change-Id: Ia0e87112c69251914b3bae9ae3f3a0c0d1bc96ce
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2250475
Commit-Queue: Li Lin <llin@chromium.org>
Reviewed-by: default avatarYue Li <updowndota@chromium.org>
Reviewed-by: default avatarXiyuan Xia <xiyuan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#781151}
parent 24cf79a1
......@@ -161,7 +161,8 @@ void QuickAnswersClient::NotifyEligibilityChanged() {
bool is_eligible =
(chromeos::features::IsQuickAnswersEnabled() && assistant_state_ &&
assistant_enabled_ && locale_supported_ && assistant_context_enabled_ &&
quick_answers_settings_enabled_ &&
(!chromeos::features::IsQuickAnswersSettingToggleEnabled() ||
quick_answers_settings_enabled_) &&
assistant_allowed_state_ ==
chromeos::assistant::AssistantAllowedState::ALLOWED);
......
......@@ -147,7 +147,10 @@ class QuickAnswersClientTest : public testing::Test {
TEST_F(QuickAnswersClientTest, FeatureEligible) {
base::test::ScopedFeatureList scoped_feature_list;
scoped_feature_list.InitWithFeatures({chromeos::features::kQuickAnswers}, {});
scoped_feature_list.InitWithFeatures(
{chromeos::features::kQuickAnswers,
chromeos::features::kQuickAnswersSubToggle},
{});
// Verify that OnEligibilityChanged is called.
EXPECT_CALL(*mock_delegate_, OnEligibilityChanged(false)).Times(0);
......@@ -263,6 +266,10 @@ TEST_F(QuickAnswersClientTest, UnsupportedLocale) {
}
TEST_F(QuickAnswersClientTest, SettingToggleDisabled) {
base::test::ScopedFeatureList scoped_feature_list;
scoped_feature_list.InitWithFeatures(
{chromeos::features::kQuickAnswersSubToggle}, {});
// Verify that OnEligibilityChanged is called.
EXPECT_CALL(*mock_delegate_, OnEligibilityChanged(false)).Times(0);
EXPECT_CALL(*mock_delegate_, OnEligibilityChanged(true)).Times(0);
......
......@@ -320,6 +320,10 @@ const base::Feature kQuickAnswersDogfood{"QuickAnswersDogfood",
const base::Feature kQuickAnswersTextAnnotator{
"QuickAnswersTextAnnotator", base::FEATURE_DISABLED_BY_DEFAULT};
// Controls whether to enable quick answers setting sub toggle.
const base::Feature kQuickAnswersSubToggle{"QuickAnswersSubToggle",
base::FEATURE_DISABLED_BY_DEFAULT};
// ChromeOS Files App mounts RAR archives via rar2fs instead of avfs.
// https://crbug.com/996549
const base::Feature kRar2Fs{"Rar2Fs", base::FEATURE_ENABLED_BY_DEFAULT};
......@@ -499,7 +503,8 @@ bool IsQuickAnswersRichUiEnabled() {
}
bool IsQuickAnswersSettingToggleEnabled() {
return IsQuickAnswersEnabled() && IsQuickAnswersRichUiEnabled();
return IsQuickAnswersEnabled() && IsQuickAnswersRichUiEnabled() &&
base::FeatureList::IsEnabled(kQuickAnswersSubToggle);
}
bool IsQuickAnswersTextAnnotatorEnabled() {
......
......@@ -141,6 +141,8 @@ COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
extern const base::Feature kQuickAnswersRichUi;
COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
extern const base::Feature kQuickAnswersTextAnnotator;
COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
extern const base::Feature kQuickAnswersSubToggle;
COMPONENT_EXPORT(CHROMEOS_CONSTANTS) extern const base::Feature kRar2Fs;
COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
extern const base::Feature kReleaseNotes;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment