Add flag for testing quick app access ui
Bug=b:266734005
Low-Coverage-Reason: Code is behind a test flag, will never be enabled.
Change-Id: Ib4be9e7b2c221db257ccc6e26a5cf1a35739e6c1
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4472027
Reviewed-by: Toni Barzic <[email protected]>
Code-Coverage: Findit <[email protected]>
Commit-Queue: Matthew Mourgos <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1136162}
diff --git a/ash/app_list/app_list_controller_impl.cc b/ash/app_list/app_list_controller_impl.cc
index 9005c39..be36815 100644
--- a/ash/app_list/app_list_controller_impl.cc
+++ b/ash/app_list/app_list_controller_impl.cc
@@ -100,6 +100,9 @@
constexpr base::TimeDelta kOverviewFadeAnimationDuration =
base::Milliseconds(350);
+// The app id for the settings app used for testing quick app access.
+constexpr char kOsSettingsAppId[] = "odknhmnlageboeamepcngndbggdpaobj";
+
// Update layer animation settings for launcher scale and opacity animation that
// runs on overview mode change.
void UpdateOverviewSettings(base::TimeDelta duration,
@@ -439,6 +442,10 @@
return;
}
+ if (base::FeatureList::IsEnabled(features::kQuickAppAccessTestUI)) {
+ SetHomeButtonQuickApp(kOsSettingsAppId);
+ }
+
if (in_clamshell)
return;
diff --git a/ash/constants/ash_features.cc b/ash/constants/ash_features.cc
index 8fa0444..a55bfc5 100644
--- a/ash/constants/ash_features.cc
+++ b/ash/constants/ash_features.cc
@@ -1850,6 +1850,10 @@
// Controls whether the smart reader feature is enabled.
BASE_FEATURE(kSmartReader, "SmartReader", base::FEATURE_DISABLED_BY_DEFAULT);
+BASE_FEATURE(kQuickAppAccessTestUI,
+ "QuickAppAccessTestUI",
+ base::FEATURE_DISABLED_BY_DEFAULT);
+
// Enables or disables fingerprint quick unlock.
BASE_FEATURE(kQuickUnlockFingerprint,
"QuickUnlockFingerprint",
@@ -2821,7 +2825,8 @@
}
bool IsHomeButtonQuickAppAccessEnabled() {
- return base::FeatureList::IsEnabled(kHomeButtonQuickAppAccess);
+ return base::FeatureList::IsEnabled(kHomeButtonQuickAppAccess) ||
+ base::FeatureList::IsEnabled(kQuickAppAccessTestUI);
}
bool IsHomeButtonWithTextEnabled() {
diff --git a/ash/constants/ash_features.h b/ash/constants/ash_features.h
index 52e25732..c871b3a1 100644
--- a/ash/constants/ash_features.h
+++ b/ash/constants/ash_features.h
@@ -532,6 +532,7 @@
COMPONENT_EXPORT(ASH_CONSTANTS) BASE_DECLARE_FEATURE(kQsRevamp);
COMPONENT_EXPORT(ASH_CONSTANTS) BASE_DECLARE_FEATURE(kQuickDim);
COMPONENT_EXPORT(ASH_CONSTANTS) BASE_DECLARE_FEATURE(kSmartReader);
+COMPONENT_EXPORT(ASH_CONSTANTS) BASE_DECLARE_FEATURE(kQuickAppAccessTestUI);
COMPONENT_EXPORT(ASH_CONSTANTS) BASE_DECLARE_FEATURE(kQuickUnlockFingerprint);
COMPONENT_EXPORT(ASH_CONSTANTS) BASE_DECLARE_FEATURE(kQuickUnlockPinAutosubmit);
// TODO(crbug.com/1104164) - Remove this once most users have their preferences
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
index bbf0a2b..6554fa5 100644
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -7981,6 +7981,10 @@
flag_descriptions::kLauncherLocalImageSearchName,
flag_descriptions::kLauncherLocalImageSearchDescription, kOsCrOS,
FEATURE_VALUE_TYPE(search_features::kLauncherImageSearch)},
+ {"quick-app-access-test-ui", flag_descriptions::kQuickAppAccessTestUIName,
+ flag_descriptions::kQuickAppAccessTestUIDescription, kOsCrOS,
+ FEATURE_VALUE_TYPE(ash::features::kQuickAppAccessTestUI)},
+
#endif // BUILDFLAG(IS_CHROMEOS_ASH)
#if BUILDFLAG(IS_CHROMEOS_ASH)
diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.json
index 38e39c8..defee42 100644
--- a/chrome/browser/flag-metadata.json
+++ b/chrome/browser/flag-metadata.json
@@ -6423,6 +6423,11 @@
"expiry_milestone": 120
},
{
+ "name": "quick-app-access-test-ui",
+ "owners": [ "mmourgos", "//ash/app_list/OWNERS" ],
+ "expiry_milestone": 120
+ },
+ {
"name": "quick-commands",
"owners": [ "lgrey" ],
"expiry_milestone": 120
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
index 26a8ad6..3f0130a1 100644
--- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc
@@ -2802,6 +2802,11 @@
const char kQuicName[] = "Experimental QUIC protocol";
const char kQuicDescription[] = "Enable experimental QUIC protocol support.";
+extern const char kQuickAppAccessTestUIName[] =
+ "Internal test: quick app access";
+extern const char kQuickAppAccessTestUIDescription[] =
+ "Show an app in the quick app access area at the start of the session";
+
const char kQuickIntensiveWakeUpThrottlingAfterLoadingName[] =
"Quick intensive throttling after loading";
const char kQuickIntensiveWakeUpThrottlingAfterLoadingDescription[] =
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
index 6ad6171..b43aa551 100644
--- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h
@@ -1577,6 +1577,9 @@
extern const char kQuicName[];
extern const char kQuicDescription[];
+extern const char kQuickAppAccessTestUIName[];
+extern const char kQuickAppAccessTestUIDescription[];
+
extern const char kQuickDimName[];
extern const char kQuickDimDescription[];
diff --git a/tools/metrics/histograms/enums.xml b/tools/metrics/histograms/enums.xml
index 25f156ae..fb7dbc3 100644
--- a/tools/metrics/histograms/enums.xml
+++ b/tools/metrics/histograms/enums.xml
@@ -60659,6 +60659,7 @@
<int value="-848691867" label="DesktopPWAWindowing:enabled"/>
<int value="-847735582" label="NotificationsViaHelperApp:enabled"/>
<int value="-847216521" label="ChromeDuplex:enabled"/>
+ <int value="-846670837" label="QuickAppAccessTestUI:enabled"/>
<int value="-844786349" label="ClipboardHistoryNudgeSessionReset:enabled"/>
<int value="-844537521" label="HttpFormWarning:disabled"/>
<int value="-844381918" label="ArcNativeBridgeExperiment:disabled"/>
@@ -65006,6 +65007,7 @@
<int value="1519067750" label="ActionableContentSettings:disabled"/>
<int value="1520181151" label="PrintServerScaling:disabled"/>
<int value="1520754417" label="ConfirmationChip:enabled"/>
+ <int value="1524016321" label="QuickAppAccessTestUI:disabled"/>
<int value="1524178643" label="AppServiceExternalProtocol:enabled"/>
<int value="1524631783" label="CrOSLateBootCrasSplitAlsaUSBInternal:enabled"/>
<int value="1526489044" label="NtpRealboxMatchSearchboxTheme:disabled"/>