// Copyright 2017 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. // // Next MinVersion: 14 module arc.mojom; import "components/arc/common/gfx.mojom"; // There is another copy of the VoiceInteractionState definition in // //ash/public/interfaces/voice_interaction_controller.mojom // Please also update the other one if you change it. // The duplicate definition is because we do not use extensible widely // (crbug.com/731893). [Extensible] enum VoiceInteractionState { NOT_READY = 0, STOPPED, RUNNING }; // Handles voice interaction queries from Android. // Next method ID: 6 // Deprecated method ID: 0, 2, 3, 4 interface VoiceInteractionFrameworkHost { // Returns a fullscreen screenshot of the primary display. // |data| represents the image encoded in JPEG format. [MinVersion=1]CaptureFullscreen@1() => (array data); // Notifies Chrome the state of voice interaction session. [MinVersion=8]SetVoiceInteractionState@5(VoiceInteractionState state); }; // Indicates voice interaction configuration status. struct VoiceInteractionStatus { // Whether voice interaction is configured during OOBE flow. |false| if // OOBE flow has been skipped. bool configured; // Whether voice interaction service is enabled. bool voice_interaction_enabled; // Whether allow voice interaction service to request screenshot // and screen context. bool context_enabled; }; // Connects with Android system server. // Next method ID: 12 // Deprecated method ID: 4 interface VoiceInteractionFrameworkInstance { // DEPRECATED: Please use Init@11 instead. InitDeprecated@0(VoiceInteractionFrameworkHost host_ptr); // Establishes full-duplex communication with the host. [MinVersion=13] Init@11(VoiceInteractionFrameworkHost host_ptr) => (); // Starts the voice interaction session in container. // |homescreen_is_active| is true if the session was invoked when homescreen is active. StartVoiceInteractionSession@1([MinVersion=11] bool homescreen_is_active); // Starts or stops voice interaction session based on current state. // |homescreen_is_active| is true if the session was invoked when homescreen is active. [MinVersion=9] ToggleVoiceInteractionSession@8([MinVersion=11] bool homescreen_is_active); // Starts the voice interaction session in container, with a screen region // selected. [MinVersion=1] StartVoiceInteractionSessionForRegion@2(Rect region); // Shows/hides the metalayer in the container. [MinVersion=1] SetMetalayerVisibility@3([MinVersion=2] bool visible); // Turns on / off voice interaction and ack the setting. [MinVersion=12] SetVoiceInteractionEnabled@10(bool enable) => (); // Turns on / off context for voice interaction in container. This function // controls whether screenshot and view hierarchy information should be sent // to container. [MinVersion=4] SetVoiceInteractionContextEnabled@5(bool enable); // Starts the voice interaction setup wizard in container. [MinVersion=5] StartVoiceInteractionSetupWizard@6(); // Starts the voice interaction setup wizard in container. [MinVersion=10] ShowVoiceInteractionSettings@9(); // Queries voice interaction settings status. [MinVersion=7] GetVoiceInteractionSettings@7() => (VoiceInteractionStatus status); };