1 // Copyright 2017 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "ash/public/cpp/app_list/app_list_features.h"
6
7 #include "ash/public/cpp/app_list/app_list_switches.h"
8 #include "base/feature_list.h"
9 #include "base/metrics/field_trial_params.h"
10 #include "chromeos/constants/chromeos_features.h"
11
12 namespace app_list_features {
13
14 const base::Feature kEnableAppDataSearch{"EnableAppDataSearch",
15 base::FEATURE_DISABLED_BY_DEFAULT};
16 const base::Feature kEnableSettingsShortcutSearch{
17 "EnableSettingsShortcutSearch", base::FEATURE_DISABLED_BY_DEFAULT};
18 const base::Feature kEnableAppListSearchAutocomplete{
19 "EnableAppListSearchAutocomplete", base::FEATURE_ENABLED_BY_DEFAULT};
20 const base::Feature kEnableAppRanker{"EnableAppRanker",
21 base::FEATURE_ENABLED_BY_DEFAULT};
22 const base::Feature kEnableZeroStateAppsRanker{
23 "EnableZeroStateAppsRanker", base::FEATURE_ENABLED_BY_DEFAULT};
24 const base::Feature kEnableQueryBasedMixedTypesRanker{
25 "EnableQueryBasedMixedTypesRanker", base::FEATURE_DISABLED_BY_DEFAULT};
26 const base::Feature kEnableZeroStateMixedTypesRanker{
27 "EnableZeroStateMixedTypesRanker", base::FEATURE_ENABLED_BY_DEFAULT};
28 const base::Feature kEnableAppReinstallZeroState{
29 "EnableAppReinstallZeroState", base::FEATURE_DISABLED_BY_DEFAULT};
30 const base::Feature kEnableSuggestedFiles{"EnableSuggestedFiles",
31 base::FEATURE_DISABLED_BY_DEFAULT};
32
33 // "EnableEmbeddedAssistantUI" is used in finch experiment therefore we cannot
34 // change it until fully launched. It is used to redirect Launcher search to
35 // Assistant search.
36 const base::Feature kEnableAssistantSearch{"EnableEmbeddedAssistantUI",
37 base::FEATURE_ENABLED_BY_DEFAULT};
38
39 const base::Feature kEnableAppGridGhost{"EnableAppGridGhost",
40 base::FEATURE_DISABLED_BY_DEFAULT};
41 const base::Feature kEnableAppListLaunchRecording{
42 "EnableAppListLaunchRecording", base::FEATURE_DISABLED_BY_DEFAULT};
43 const base::Feature kLauncherSettingsSearch{"LauncherSettingsSearch",
44 base::FEATURE_ENABLED_BY_DEFAULT};
45 const base::Feature kEnableFuzzyAppSearch{"EnableFuzzyAppSearch",
46 base::FEATURE_ENABLED_BY_DEFAULT};
47 const base::Feature kEnableExactMatchForNonLatinLocale{
48 "EnableExactMatchForNonLatinLocale", base::FEATURE_ENABLED_BY_DEFAULT};
49 const base::Feature kEnableAggregatedMlSearchRanking{
50 "EnableAggregatedMlSearchRanking", base::FEATURE_DISABLED_BY_DEFAULT};
51 const base::Feature kNewDragSpecInLauncher{"NewDragSpecInLauncher",
52 base::FEATURE_DISABLED_BY_DEFAULT};
53 const base::Feature kEnableOmniboxRichEntities{
54 "EnableOmniboxRichEntities", base::FEATURE_DISABLED_BY_DEFAULT};
55
IsAppDataSearchEnabled()56 bool IsAppDataSearchEnabled() {
57 return base::FeatureList::IsEnabled(kEnableAppDataSearch);
58 }
59
IsSettingsShortcutSearchEnabled()60 bool IsSettingsShortcutSearchEnabled() {
61 return base::FeatureList::IsEnabled(kEnableSettingsShortcutSearch);
62 }
63
IsAppListSearchAutocompleteEnabled()64 bool IsAppListSearchAutocompleteEnabled() {
65 return base::FeatureList::IsEnabled(kEnableAppListSearchAutocomplete);
66 }
67
IsAppRankerEnabled()68 bool IsAppRankerEnabled() {
69 return base::FeatureList::IsEnabled(kEnableAppRanker);
70 }
71
IsZeroStateAppsRankerEnabled()72 bool IsZeroStateAppsRankerEnabled() {
73 return base::FeatureList::IsEnabled(kEnableZeroStateAppsRanker);
74 }
75
IsQueryBasedMixedTypesRankerEnabled()76 bool IsQueryBasedMixedTypesRankerEnabled() {
77 return base::FeatureList::IsEnabled(kEnableQueryBasedMixedTypesRanker);
78 }
79
IsZeroStateMixedTypesRankerEnabled()80 bool IsZeroStateMixedTypesRankerEnabled() {
81 return base::FeatureList::IsEnabled(kEnableZeroStateMixedTypesRanker);
82 }
83
IsAppReinstallZeroStateEnabled()84 bool IsAppReinstallZeroStateEnabled() {
85 return base::FeatureList::IsEnabled(kEnableAppReinstallZeroState);
86 }
87
IsSuggestedFilesEnabled()88 bool IsSuggestedFilesEnabled() {
89 return base::FeatureList::IsEnabled(kEnableSuggestedFiles);
90 }
91
IsAssistantSearchEnabled()92 bool IsAssistantSearchEnabled() {
93 return base::FeatureList::IsEnabled(kEnableAssistantSearch);
94 }
95
IsAppGridGhostEnabled()96 bool IsAppGridGhostEnabled() {
97 return base::FeatureList::IsEnabled(kEnableAppGridGhost);
98 }
99
IsLauncherSettingsSearchEnabled()100 bool IsLauncherSettingsSearchEnabled() {
101 return base::FeatureList::IsEnabled(kLauncherSettingsSearch);
102 }
103
IsFuzzyAppSearchEnabled()104 bool IsFuzzyAppSearchEnabled() {
105 return base::FeatureList::IsEnabled(kEnableFuzzyAppSearch);
106 }
107
IsExactMatchForNonLatinLocaleEnabled()108 bool IsExactMatchForNonLatinLocaleEnabled() {
109 return base::FeatureList::IsEnabled(kEnableExactMatchForNonLatinLocale);
110 }
111
IsAggregatedMlSearchRankingEnabled()112 bool IsAggregatedMlSearchRankingEnabled() {
113 return base::FeatureList::IsEnabled(kEnableAggregatedMlSearchRanking);
114 }
115
IsNewDragSpecInLauncherEnabled()116 bool IsNewDragSpecInLauncherEnabled() {
117 return base::FeatureList::IsEnabled(kNewDragSpecInLauncher);
118 }
119
IsOmniboxRichEntitiesEnabled()120 bool IsOmniboxRichEntitiesEnabled() {
121 return base::FeatureList::IsEnabled(kEnableOmniboxRichEntities);
122 }
123
AppSearchResultRankerPredictorName()124 std::string AppSearchResultRankerPredictorName() {
125 const std::string predictor_name = base::GetFieldTrialParamValueByFeature(
126 kEnableZeroStateAppsRanker, "app_search_result_ranker_predictor_name");
127 if (!predictor_name.empty())
128 return predictor_name;
129 return std::string("MrfuAppLaunchPredictor");
130 }
131
IsAppListLaunchRecordingEnabled()132 bool IsAppListLaunchRecordingEnabled() {
133 return base::FeatureList::IsEnabled(kEnableAppListLaunchRecording);
134 }
135
136 } // namespace app_list_features
137