Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1768)

Unified Diff: ash/accelerators/accelerator_controller.cc

Issue 2898273002: Move Voice Interaction shortcut to accelerator_controller.cc (Closed)
Patch Set: Move Voice Interaction shortcut to accelerator_controller.cc Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | ash/accelerators/accelerator_table.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ash/accelerators/accelerator_controller.cc
diff --git a/ash/accelerators/accelerator_controller.cc b/ash/accelerators/accelerator_controller.cc
index 789059b65e59b661ee936a128796670c73f86cc2..3718c7e4e1107ac8cde5d383f4dbae4dff620307 100644
--- a/ash/accelerators/accelerator_controller.cc
+++ b/ash/accelerators/accelerator_controller.cc
@@ -50,8 +50,10 @@
#include "base/metrics/user_metrics.h"
#include "base/strings/string_split.h"
#include "base/strings/utf_string_conversions.h"
+#include "chromeos/chromeos_switches.h"
#include "chromeos/dbus/dbus_thread_manager.h"
#include "chromeos/dbus/power_manager_client.h"
+#include "ui/app_list/presenter/app_list.h"
#include "ui/base/accelerators/accelerator.h"
#include "ui/base/accelerators/accelerator_manager.h"
#include "ui/base/ime/chromeos/ime_keyboard.h"
@@ -536,6 +538,21 @@ bool CanHandleShowStylusTools() {
return palette_utils::ShouldShowPalette();
}
+bool CanHandleStartVoiceInteraction() {
+ return chromeos::switches::IsVoiceInteractionEnabled();
+}
+
+void HandleStartVoiceInteraction(const ui::Accelerator& accelerator) {
+ if (accelerator.IsCmdDown() && accelerator.key_code() == ui::VKEY_SPACE) {
+ base::RecordAction(
+ base::UserMetricsAction("VoiceInteraction.Started.Search_Space"));
+ } else if (accelerator.IsCmdDown() && accelerator.key_code() == ui::VKEY_A) {
+ base::RecordAction(
+ base::UserMetricsAction("VoiceInteraction.Started.Search_A"));
+ }
+ Shell::Get()->app_list()->StartVoiceInteractionSession();
+}
+
void HandleSuspend() {
base::RecordAction(UserMetricsAction("Accel_Suspend"));
chromeos::DBusThreadManager::Get()->GetPowerManagerClient()->RequestSuspend();
@@ -933,6 +950,8 @@ bool AcceleratorController::CanPerformAction(
return CanHandleShowMessageCenterBubble();
case SHOW_STYLUS_TOOLS:
return CanHandleShowStylusTools();
+ case START_VOICE_INTERACTION:
+ return CanHandleStartVoiceInteraction();
case SWITCH_IME:
return CanHandleSwitchIme(accelerator);
case SWITCH_TO_PREVIOUS_USER:
@@ -1169,6 +1188,9 @@ void AcceleratorController::PerformAction(AcceleratorAction action,
case SHOW_TASK_MANAGER:
HandleShowTaskManager();
break;
+ case START_VOICE_INTERACTION:
+ HandleStartVoiceInteraction(accelerator);
+ break;
case SUSPEND:
HandleSuspend();
break;
« no previous file with comments | « no previous file | ash/accelerators/accelerator_table.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698