| 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 =
|
|
|