Chromium Code Reviews| 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..057eca3929ee9d050f25f78531d5d1f12e836791 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 |
| @@ -13,6 +13,7 @@ |
| #include "base/logging.h" |
| #include "base/memory/ref_counted.h" |
| #include "base/task_scheduler/post_task.h" |
| +#include "chrome/browser/ui/app_list/arc/arc_app_utils.h" |
|
Yusuke Sato
2017/05/23 19:41:52
components/arc/arc_util.h
yueli
2017/05/23 22:59:56
Done.
|
| #include "chromeos/chromeos_switches.h" |
| #include "components/arc/arc_bridge_service.h" |
| #include "components/arc/instance_holder.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,18 @@ void ArcVoiceInteractionFrameworkService::HideMetalayer() { |
| SetMetalayerVisibility(false); |
| } |
| +void ArcVoiceInteractionFrameworkService::StartVoiceInteractionSession() { |
| + mojom::VoiceInteractionFrameworkInstance* framework_instance = |
| + ARC_GET_INSTANCE_FOR_METHOD( |
| + arc_bridge_service()->voice_interaction_framework(), |
| + StartVoiceInteractionSession); |
| + if (framework_instance) { |
| + framework_instance->StartVoiceInteractionSession(); |
| + } else { |
| + arc::PrioritizeArcContainerStartup(); |
|
Yusuke Sato
2017/05/23 19:41:51
If the user starts an ARC app (e.g. Play Store) be
yueli
2017/05/23 22:59:56
Currently we have no place to show such spinner si
Yusuke Sato
2017/05/23 23:11:56
Ok, but please make sure to inform UX team of the
|
| + } |
| +} |
| + |
| void ArcVoiceInteractionFrameworkService::SetMetalayerVisibility(bool visible) { |
| DCHECK_CURRENTLY_ON(content::BrowserThread::UI); |
| mojom::VoiceInteractionFrameworkInstance* framework_instance = |