blob: 5dcc9a2b279c49bf864cb3ae3c9d135f5462df27 [file] [log] [blame]
// Copyright 2017 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "ash/public/cpp/app_list/app_list_features.h"
#include "ash/public/cpp/app_list/app_list_switches.h"
#include "base/feature_list.h"
#include "base/metrics/field_trial_params.h"
namespace app_list_features {
const base::Feature kEnableAnswerCard{"EnableAnswerCard",
base::FEATURE_ENABLED_BY_DEFAULT};
const base::Feature kEnableAppShortcutSearch{"EnableAppShortcutSearch",
base::FEATURE_DISABLED_BY_DEFAULT};
const base::Feature kEnableBackgroundBlur{"EnableBackgroundBlur",
base::FEATURE_DISABLED_BY_DEFAULT};
const base::Feature kEnablePlayStoreAppSearch{
"EnablePlayStoreAppSearch", base::FEATURE_DISABLED_BY_DEFAULT};
const base::Feature kEnableAppDataSearch{"EnableAppDataSearch",
base::FEATURE_DISABLED_BY_DEFAULT};
const base::Feature kEnableHomeLauncher{"EnableHomeLauncher",
base::FEATURE_ENABLED_BY_DEFAULT};
const base::Feature kEnableHomeLauncherGestures{
"HomeLauncherGestures", base::FEATURE_ENABLED_BY_DEFAULT};
const base::Feature kEnableSettingsShortcutSearch{
"EnableSettingsShortcutSearch", base::FEATURE_DISABLED_BY_DEFAULT};
const base::Feature kEnableAppsGridGapFeature{"EnableAppsGridGapFeature",
base::FEATURE_ENABLED_BY_DEFAULT};
const base::Feature kEnableNewStyleLauncher{"EnableNewStyleLauncher",
base::FEATURE_ENABLED_BY_DEFAULT};
const base::Feature kEnableContinueReading{"EnableContinueReading",
base::FEATURE_ENABLED_BY_DEFAULT};
const base::Feature kEnableZeroStateSuggestions{
"EnableZeroStateSuggestions", base::FEATURE_DISABLED_BY_DEFAULT};
const base::Feature kEnableAppListSearchAutocomplete{
"EnableAppListSearchAutocomplete", base::FEATURE_ENABLED_BY_DEFAULT};
const base::Feature kEnableAppSearchResultRanker{
"EnableAppSearchResultRanker", base::FEATURE_DISABLED_BY_DEFAULT};
bool IsAnswerCardEnabled() {
// Not using local static variable to allow tests to change this value.
return base::FeatureList::IsEnabled(kEnableAnswerCard);
}
bool IsAppShortcutSearchEnabled() {
return base::FeatureList::IsEnabled(kEnableAppShortcutSearch);
}
bool IsBackgroundBlurEnabled() {
return base::FeatureList::IsEnabled(kEnableBackgroundBlur);
}
bool IsPlayStoreAppSearchEnabled() {
// Not using local static variable to allow tests to change this value.
return base::FeatureList::IsEnabled(kEnablePlayStoreAppSearch);
}
bool IsAppDataSearchEnabled() {
return base::FeatureList::IsEnabled(kEnableAppDataSearch);
}
bool IsHomeLauncherEnabled() {
return base::FeatureList::IsEnabled(kEnableHomeLauncher);
}
bool IsHomeLauncherGesturesEnabled() {
return base::FeatureList::IsEnabled(kEnableHomeLauncherGestures);
}
bool IsSettingsShortcutSearchEnabled() {
return base::FeatureList::IsEnabled(kEnableSettingsShortcutSearch);
}
bool IsAppsGridGapFeatureEnabled() {
return base::FeatureList::IsEnabled(kEnableAppsGridGapFeature);
}
bool IsNewStyleLauncherEnabled() {
return base::FeatureList::IsEnabled(kEnableNewStyleLauncher);
}
bool IsContinueReadingEnabled() {
return base::FeatureList::IsEnabled(kEnableContinueReading);
}
bool IsZeroStateSuggestionsEnabled() {
return base::FeatureList::IsEnabled(kEnableZeroStateSuggestions);
}
bool IsAppListSearchAutocompleteEnabled() {
return base::FeatureList::IsEnabled(kEnableAppListSearchAutocomplete);
}
bool IsAppSearchResultRankerEnabled() {
return base::FeatureList::IsEnabled(kEnableAppSearchResultRanker);
}
std::string AnswerServerUrl() {
const std::string experiment_url =
base::GetFieldTrialParamValueByFeature(kEnableAnswerCard, "ServerUrl");
if (!experiment_url.empty())
return experiment_url;
return "https://www.google.com/coac";
}
std::string AnswerServerQuerySuffix() {
return base::GetFieldTrialParamValueByFeature(kEnableAnswerCard,
"QuerySuffix");
}
std::string AppSearchResultRankerPredictorName() {
const std::string predictor_name = base::GetFieldTrialParamValueByFeature(
kEnableAppSearchResultRanker, "app_search_result_ranker_predictor_name");
if (!predictor_name.empty())
return predictor_name;
return std::string("MrfuAppLaunchPredictor");
}
} // namespace app_list_features