Index: chrome/browser/chromeos/arc/voice_interaction/arc_voice_interaction_framework_service.h |
diff --git a/chrome/browser/chromeos/arc/voice_interaction/arc_voice_interaction_framework_service.h b/chrome/browser/chromeos/arc/voice_interaction/arc_voice_interaction_framework_service.h |
index eba6931f0ec3e85ff1e6461c8d1318b2d26ccbd6..f7787cfa999c7112f07abb8c36090a2d6f30a1aa 100644 |
--- a/chrome/browser/chromeos/arc/voice_interaction/arc_voice_interaction_framework_service.h |
+++ b/chrome/browser/chromeos/arc/voice_interaction/arc_voice_interaction_framework_service.h |
@@ -9,6 +9,8 @@ |
#include "base/macros.h" |
#include "base/time/time.h" |
+#include "chrome/browser/chromeos/arc/arc_session_manager.h" |
+#include "components/arc/arc_service.h" |
#include "components/arc/common/voice_interaction_framework.mojom.h" |
#include "components/arc/instance_holder.h" |
#include "components/keyed_service/core/keyed_service.h" |
@@ -38,8 +40,8 @@ class ArcVoiceInteractionFrameworkService |
public mojom::VoiceInteractionFrameworkHost, |
public ui::AcceleratorTarget, |
public ui::EventHandler, |
- public InstanceHolder< |
- mojom::VoiceInteractionFrameworkInstance>::Observer { |
+ public InstanceHolder<mojom::VoiceInteractionFrameworkInstance>::Observer, |
+ public ArcSessionManager::Observer { |
public: |
// Returns singleton instance for the given BrowserContext, |
// or nullptr if the browser |context| is not allowed to use ARC. |
@@ -76,6 +78,9 @@ class ArcVoiceInteractionFrameworkService |
void ShowMetalayer(const base::Closure& closed); |
void HideMetalayer(); |
+ // ArcSessionManager::Observer overrides. |
+ void OnArcPlayStoreEnabledChanged(bool enabled) override; |
+ |
// Starts a voice interaction session after user-initiated interaction. |
// Records a timestamp and sets number of allowed requests to 2 since by |
// design, there will be one request for screenshot and the other for |
@@ -102,6 +107,13 @@ class ArcVoiceInteractionFrameworkService |
// Start the voice interaction setup wizard in container. |
void StartVoiceInteractionSetupWizard(); |
+ // Updates voice interaction flags. These flags are set only once when ARC |
+ // container is enabled. |
+ void UpdateVoiceInteractionPrefs(); |
+ |
+ // For supporting ArcServiceManager::GetService<T>(). |
+ static const char kArcServiceName[]; |
+ |
private: |
void SetMetalayerVisibility(bool visible); |