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

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: Refactor 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 1b89b06f539261b8b4d7d34093821438eeab5a17..1a1a3e8877f4fdc87fe0c922f1e5e4d8c15c5253 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
@@ -15,6 +15,7 @@
#include "base/task_scheduler/post_task.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"
@@ -61,17 +62,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() {
@@ -85,23 +79,14 @@ bool ArcVoiceInteractionFrameworkService::AcceleratorPressed(
const ui::Accelerator& accelerator) {
DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
- 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();
- }
+ // 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;
}
@@ -178,6 +163,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::PrioritizeArcContainerStartup();
+ 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