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( ...@@ -164,6 +164,12 @@ void IntentGenerator::MaybeGenerateTranslationIntent(
const QuickAnswersRequest& request) { const QuickAnswersRequest& request) {
DCHECK(complete_callback_); 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 // 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. // of selected text is above the threshold. Returns unknown intent type.
if (request.context.device_properties.language.empty() || if (request.context.device_properties.language.empty() ||
......
...@@ -64,8 +64,10 @@ class IntentGeneratorTest : public testing::Test { ...@@ -64,8 +64,10 @@ class IntentGeneratorTest : public testing::Test {
intent_generator_->SetLanguageDetectorForTesting( intent_generator_->SetLanguageDetectorForTesting(
std::move(mock_language_detector_)); std::move(mock_language_detector_));
scoped_feature_list_.InitAndEnableFeature( scoped_feature_list_.InitWithFeatures(
chromeos::features::kQuickAnswersTextAnnotator); {chromeos::features::kQuickAnswersTextAnnotator,
chromeos::features::kQuickAnswersTranslation},
{});
} }
void TearDown() override { intent_generator_.reset(); } void TearDown() override { intent_generator_.reset(); }
...@@ -142,6 +144,24 @@ TEST_F(IntentGeneratorTest, TranslationIntentTextLengthAboveThreshold) { ...@@ -142,6 +144,24 @@ TEST_F(IntentGeneratorTest, TranslationIntentTextLengthAboveThreshold) {
} }
TEST_F(IntentGeneratorTest, TranslationIntentNotEnabled) { 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(); UseFakeServiceConnection();
QuickAnswersRequest request; QuickAnswersRequest request;
......
...@@ -324,6 +324,10 @@ const base::Feature kQuickAnswersTextAnnotator{ ...@@ -324,6 +324,10 @@ const base::Feature kQuickAnswersTextAnnotator{
const base::Feature kQuickAnswersSubToggle{"QuickAnswersSubToggle", const base::Feature kQuickAnswersSubToggle{"QuickAnswersSubToggle",
base::FEATURE_DISABLED_BY_DEFAULT}; 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. // ChromeOS Files App mounts RAR archives via rar2fs instead of avfs.
// https://crbug.com/996549 // https://crbug.com/996549
const base::Feature kRar2Fs{"Rar2Fs", base::FEATURE_ENABLED_BY_DEFAULT}; const base::Feature kRar2Fs{"Rar2Fs", base::FEATURE_ENABLED_BY_DEFAULT};
...@@ -511,6 +515,10 @@ bool IsQuickAnswersTextAnnotatorEnabled() { ...@@ -511,6 +515,10 @@ bool IsQuickAnswersTextAnnotatorEnabled() {
return base::FeatureList::IsEnabled(kQuickAnswersTextAnnotator); return base::FeatureList::IsEnabled(kQuickAnswersTextAnnotator);
} }
bool IsQuickAnswersTranslationEnabled() {
return base::FeatureList::IsEnabled(kQuickAnswersTranslation);
}
bool IsSplitSettingsSyncEnabled() { bool IsSplitSettingsSyncEnabled() {
return base::FeatureList::IsEnabled(kSplitSettingsSync); return base::FeatureList::IsEnabled(kSplitSettingsSync);
} }
......
...@@ -143,6 +143,8 @@ COMPONENT_EXPORT(CHROMEOS_CONSTANTS) ...@@ -143,6 +143,8 @@ COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
extern const base::Feature kQuickAnswersTextAnnotator; extern const base::Feature kQuickAnswersTextAnnotator;
COMPONENT_EXPORT(CHROMEOS_CONSTANTS) COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
extern const base::Feature kQuickAnswersSubToggle; 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 kRar2Fs;
COMPONENT_EXPORT(CHROMEOS_CONSTANTS) COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
extern const base::Feature kReleaseNotes; extern const base::Feature kReleaseNotes;
...@@ -212,6 +214,7 @@ COMPONENT_EXPORT(CHROMEOS_CONSTANTS) bool IsQuickAnswersRichUiEnabled(); ...@@ -212,6 +214,7 @@ COMPONENT_EXPORT(CHROMEOS_CONSTANTS) bool IsQuickAnswersRichUiEnabled();
COMPONENT_EXPORT(CHROMEOS_CONSTANTS) bool IsQuickAnswersSettingToggleEnabled(); COMPONENT_EXPORT(CHROMEOS_CONSTANTS) bool IsQuickAnswersSettingToggleEnabled();
COMPONENT_EXPORT(CHROMEOS_CONSTANTS) COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
bool IsQuickAnswersTextAnnotatorEnabled(); bool IsQuickAnswersTextAnnotatorEnabled();
COMPONENT_EXPORT(CHROMEOS_CONSTANTS) bool IsQuickAnswersTranslationEnabled();
COMPONENT_EXPORT(CHROMEOS_CONSTANTS) bool IsSplitSettingsSyncEnabled(); COMPONENT_EXPORT(CHROMEOS_CONSTANTS) bool IsSplitSettingsSyncEnabled();
// TODO(michaelpg): Remove after M71 branch to re-enable Play Store by default. // TODO(michaelpg): Remove after M71 branch to re-enable Play Store by default.
COMPONENT_EXPORT(CHROMEOS_CONSTANTS) bool ShouldShowPlayStoreInDemoMode(); 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