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 f538d66278c6e8ff2ad04d90c396a2b575a58a0c..dc60b8845782d1ca4a291726e51f87111a3e5aa4 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 |
@@ -80,6 +80,7 @@ void ArcVoiceInteractionFrameworkService::OnInstanceClosed() { |
ash::Shell::Get()->accelerator_controller()->UnregisterAll(this); |
if (!metalayer_closed_callback_.is_null()) |
base::ResetAndReturn(&metalayer_closed_callback_).Run(); |
+ metalayer_enabled_ = false; |
} |
bool ArcVoiceInteractionFrameworkService::AcceleratorPressed( |
@@ -151,13 +152,16 @@ void ArcVoiceInteractionFrameworkService::OnMetalayerClosed() { |
base::ResetAndReturn(&metalayer_closed_callback_).Run(); |
} |
+void ArcVoiceInteractionFrameworkService::SetMetalayerEnabled(bool enabled) { |
+ DCHECK_CURRENTLY_ON(content::BrowserThread::UI); |
+ metalayer_enabled_ = enabled; |
+ if (!metalayer_enabled_ && !metalayer_closed_callback_.is_null()) |
+ base::ResetAndReturn(&metalayer_closed_callback_).Run(); |
+} |
+ |
bool ArcVoiceInteractionFrameworkService::IsMetalayerSupported() { |
DCHECK_CURRENTLY_ON(content::BrowserThread::UI); |
- mojom::VoiceInteractionFrameworkInstance* framework_instance = |
- ARC_GET_INSTANCE_FOR_METHOD( |
- arc_bridge_service()->voice_interaction_framework(), |
- SetMetalayerVisibility); |
- return framework_instance; |
+ return metalayer_enabled_; |
} |
void ArcVoiceInteractionFrameworkService::ShowMetalayer( |