blob: 56bcc58d948f03b9b1ae6b81f18ed32e2f1c60da [file] [log] [blame]
// 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<uint8> 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);
};