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

Unified Diff: chrome/browser/chromeos/arc/voice_interaction/arc_voice_interaction_framework_service.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
Index: chrome/browser/chromeos/arc/voice_interaction/arc_voice_interaction_framework_service.cc
diff --git a/chrome/browser/chromeos/arc/voice_interaction/arc_voice_interaction_framework_service.cc b/chrome/browser/chromeos/arc/voice_interaction/arc_voice_interaction_framework_service.cc
index b9122323dee0974db5e0cd8f45d50cf2675c14df..c65991f7b7eaafcf7f5914d6110159f43eb4fea0 100644
--- a/chrome/browser/chromeos/arc/voice_interaction/arc_voice_interaction_framework_service.cc
+++ b/chrome/browser/chromeos/arc/voice_interaction/arc_voice_interaction_framework_service.cc
@@ -23,6 +23,7 @@
#include "chrome/browser/ui/browser_window.h"
#include "chromeos/chromeos_switches.h"
#include "components/arc/arc_bridge_service.h"
+#include "components/arc/arc_util.h"
#include "components/arc/instance_holder.h"
#include "content/public/browser/browser_thread.h"
#include "ui/aura/window.h"
@@ -124,25 +125,6 @@ void EncodeAndReturnImage(
callback);
}
-void RecordShortcutAction(const ui::Accelerator& accelerator) {
- if (accelerator.IsCmdDown() && accelerator.key_code() == ui::VKEY_A) {
- if (accelerator.IsShiftDown()) {
- base::RecordAction(base::UserMetricsAction(
- "VoiceInteraction.MetalayerStarted.Search_Shift_A"));
- return;
- }
- base::RecordAction(
- base::UserMetricsAction("VoiceInteraction.Started.Search_A"));
- return;
- }
-
- if (accelerator.IsCmdDown() && accelerator.key_code() == ui::VKEY_SPACE) {
- base::RecordAction(
- base::UserMetricsAction("VoiceInteraction.Started.Search_Space"));
- return;
- }
-}
-
} // namespace
// static
@@ -167,17 +149,10 @@ void ArcVoiceInteractionFrameworkService::OnInstanceReady() {
DCHECK(framework_instance);
framework_instance->Init(binding_.CreateInterfacePtrAndBind());
- // TODO(updowndota): Move the dynamic shortcuts to accelerator_controller.cc
- // to prevent several issues.
- ash::Shell::Get()->accelerator_controller()->Register(
- {ui::Accelerator(ui::VKEY_A, ui::EF_COMMAND_DOWN)}, this);
// Temporary shortcut added to enable the metalayer experiment.
ash::Shell::Get()->accelerator_controller()->Register(
{ui::Accelerator(ui::VKEY_A, ui::EF_COMMAND_DOWN | ui::EF_SHIFT_DOWN)},
this);
- // Temporary shortcut added for UX/PM exploration.
- ash::Shell::Get()->accelerator_controller()->Register(
- {ui::Accelerator(ui::VKEY_SPACE, ui::EF_COMMAND_DOWN)}, this);
}
void ArcVoiceInteractionFrameworkService::OnInstanceClosed() {
@@ -192,25 +167,17 @@ bool ArcVoiceInteractionFrameworkService::AcceleratorPressed(
const ui::Accelerator& accelerator) {
DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
- RecordShortcutAction(accelerator);
-
- if (accelerator.IsShiftDown()) {
- // Temporary, used for debugging.
- // Does not take into account or update the palette state.
- mojom::VoiceInteractionFrameworkInstance* framework_instance =
- ARC_GET_INSTANCE_FOR_METHOD(
- arc_bridge_service()->voice_interaction_framework(),
- SetMetalayerVisibility);
- DCHECK(framework_instance);
- framework_instance->SetMetalayerVisibility(true);
- } else {
- mojom::VoiceInteractionFrameworkInstance* framework_instance =
- ARC_GET_INSTANCE_FOR_METHOD(
- arc_bridge_service()->voice_interaction_framework(),
- StartVoiceInteractionSession);
- DCHECK(framework_instance);
- framework_instance->StartVoiceInteractionSession();
- }
+ base::RecordAction(base::UserMetricsAction(
+ "VoiceInteraction.MetalayerStarted.Search_Shift_A"));
+
+ // Temporary, used for debugging.
+ // Does not take into account or update the palette state.
+ mojom::VoiceInteractionFrameworkInstance* framework_instance =
+ ARC_GET_INSTANCE_FOR_METHOD(
+ arc_bridge_service()->voice_interaction_framework(),
+ SetMetalayerVisibility);
+ DCHECK(framework_instance);
+ framework_instance->SetMetalayerVisibility(true);
return true;
}
@@ -291,6 +258,19 @@ void ArcVoiceInteractionFrameworkService::HideMetalayer() {
SetMetalayerVisibility(false);
}
+void ArcVoiceInteractionFrameworkService::StartVoiceInteractionSession() {
+ DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
+ mojom::VoiceInteractionFrameworkInstance* framework_instance =
+ ARC_GET_INSTANCE_FOR_METHOD(
+ arc_bridge_service()->voice_interaction_framework(),
+ StartVoiceInteractionSession);
+ if (!framework_instance) {
+ arc::PrioritizeArcContainer();
+ return;
+ }
+ framework_instance->StartVoiceInteractionSession();
+}
+
void ArcVoiceInteractionFrameworkService::SetMetalayerVisibility(bool visible) {
DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
mojom::VoiceInteractionFrameworkInstance* framework_instance =

Powered by Google App Engine
This is Rietveld 408576698