Commit 524ee95c authored by Li Lin's avatar Li Lin Committed by Commit Bot

Add feature flag to gate quick answers translation intent.

We decided to defer the translation use case to future milestone. Added
a feature flag to gate translation intent.

Bug: b/159472031
Test: unit tests
Change-Id: I5772750202c2a3862f6efc437db7c82ef58a7652
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2261877Reviewed-by: default avatarYue Li <updowndota@chromium.org>
Reviewed-by: default avatarXiyuan Xia <xiyuan@chromium.org>
Commit-Queue: Li Lin <llin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#782128}
parent 29463cbc
......@@ -164,6 +164,12 @@ void IntentGenerator::MaybeGenerateTranslationIntent(
const QuickAnswersRequest& request) {
DCHECK(complete_callback_);
if (!features::IsQuickAnswersTranslationEnabled()) {
std::move(complete_callback_)
.Run(request.selected_text, IntentType::kUnknown);
return;
}
// Don't do language detection if no device language is provided or the length
// of selected text is above the threshold. Returns unknown intent type.
if (request.context.device_properties.language.empty() ||
......
......@@ -64,8 +64,10 @@ class IntentGeneratorTest : public testing::Test {
intent_generator_->SetLanguageDetectorForTesting(
std::move(mock_language_detector_));
scoped_feature_list_.InitAndEnableFeature(
chromeos::features::kQuickAnswersTextAnnotator);
scoped_feature_list_.InitWithFeatures(
{chromeos::features::kQuickAnswersTextAnnotator,
chromeos::features::kQuickAnswersTranslation},
{});
}
void TearDown() override { intent_generator_.reset(); }
......@@ -142,6 +144,24 @@ TEST_F(IntentGeneratorTest, TranslationIntentTextLengthAboveThreshold) {
}
TEST_F(IntentGeneratorTest, TranslationIntentNotEnabled) {
base::test::ScopedFeatureList scoped_feature_list;
scoped_feature_list.InitWithFeatures(
{chromeos::features::kQuickAnswersTextAnnotator},
{chromeos::features::kQuickAnswersTranslation});
UseFakeServiceConnection();
QuickAnswersRequest request;
request.selected_text = "quick answers";
request.context.device_properties.language = "es";
intent_generator_->GenerateIntent(request);
task_environment_.RunUntilIdle();
EXPECT_EQ(IntentType::kUnknown, intent_type_);
EXPECT_EQ("quick answers", intent_text_);
}
TEST_F(IntentGeneratorTest, TranslationIntentDeviceLanguageNotSet) {
UseFakeServiceConnection();
QuickAnswersRequest request;
......
......@@ -324,6 +324,10 @@ const base::Feature kQuickAnswersTextAnnotator{
const base::Feature kQuickAnswersSubToggle{"QuickAnswersSubToggle",
base::FEATURE_DISABLED_BY_DEFAULT};
// Controls whether to enable quick answers translation.
const base::Feature kQuickAnswersTranslation{"QuickAnswersTranslation",
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};
......@@ -511,6 +515,10 @@ bool IsQuickAnswersTextAnnotatorEnabled() {
return base::FeatureList::IsEnabled(kQuickAnswersTextAnnotator);
}
bool IsQuickAnswersTranslationEnabled() {
return base::FeatureList::IsEnabled(kQuickAnswersTranslation);
}
bool IsSplitSettingsSyncEnabled() {
return base::FeatureList::IsEnabled(kSplitSettingsSync);
}
......
......@@ -143,6 +143,8 @@ 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 kQuickAnswersTranslation;
COMPONENT_EXPORT(CHROMEOS_CONSTANTS) extern const base::Feature kRar2Fs;
COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
extern const base::Feature kReleaseNotes;
......@@ -212,6 +214,7 @@ COMPONENT_EXPORT(CHROMEOS_CONSTANTS) bool IsQuickAnswersRichUiEnabled();
COMPONENT_EXPORT(CHROMEOS_CONSTANTS) bool IsQuickAnswersSettingToggleEnabled();
COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
bool IsQuickAnswersTextAnnotatorEnabled();
COMPONENT_EXPORT(CHROMEOS_CONSTANTS) bool IsQuickAnswersTranslationEnabled();
COMPONENT_EXPORT(CHROMEOS_CONSTANTS) bool IsSplitSettingsSyncEnabled();
// TODO(michaelpg): Remove after M71 branch to re-enable Play Store by default.
COMPONENT_EXPORT(CHROMEOS_CONSTANTS) bool ShouldShowPlayStoreInDemoMode();
......
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