/**@class android.service.voice.AlwaysOnHotwordDetector
@extends java.lang.Object

 A class that lets a VoiceInteractionService implementation interact with
 always-on keyphrase detection APIs.
*/
var AlwaysOnHotwordDetector = {

/** Indicates that recognition for the given keyphrase is not available on the system
 because of the hardware configuration.
 No further interaction should be performed with the detector that returns this availability.
*/
STATE_HARDWARE_UNAVAILABLE : "-2",
/** Indicates that recognition for the given keyphrase is not supported.
 No further interaction should be performed with the detector that returns this availability.
*/
STATE_KEYPHRASE_UNSUPPORTED : "-1",
/** Indicates that the given keyphrase is not enrolled.
 The caller may choose to begin an enrollment flow for the keyphrase.
*/
STATE_KEYPHRASE_UNENROLLED : "1",
/** Indicates that the given keyphrase is currently enrolled and it's possible to start
 recognition for it.
*/
STATE_KEYPHRASE_ENROLLED : "2",
/** Indicates that we need to enroll.

 @hide
*/
MANAGE_ACTION_ENROLL : "0",
/** Indicates that we need to re-enroll.

 @hide
*/
MANAGE_ACTION_RE_ENROLL : "1",
/** Indicates that we need to un-enroll.

 @hide
*/
MANAGE_ACTION_UN_ENROLL : "2",
/** Empty flag for {@link #startRecognition}(int).

 @hide
*/
RECOGNITION_FLAG_NONE : "0",
/** Recognition flag for {@link #startRecognition}(int) that indicates
 whether the trigger audio for hotword needs to be captured.
*/
RECOGNITION_FLAG_CAPTURE_TRIGGER_AUDIO : "1",
/** Recognition flag for {@link #startRecognition}(int) that indicates
 whether the recognition should keep going on even after the keyphrase triggers.
 If this flag is specified, it's possible to get multiple triggers after a
 call to {@link #startRecognition}(int) if the user speaks the keyphrase multiple times.
 When this isn't specified, the default behavior is to stop recognition once the
 keyphrase is spoken, till the caller starts recognition again.
*/
RECOGNITION_FLAG_ALLOW_MULTIPLE_TRIGGERS : "2",
/** Simple recognition of the key phrase.
 Returned by {@link #getSupportedRecognitionModes}()
*/
RECOGNITION_MODE_VOICE_TRIGGER : "1",
/** User identification performed with the keyphrase recognition.
 Returned by {@link #getSupportedRecognitionModes}()
*/
RECOGNITION_MODE_USER_IDENTIFICATION : "2",
/**Gets the recognition modes supported by the associated keyphrase.
@see #RECOGNITION_MODE_USER_IDENTIFICATION
@see #RECOGNITION_MODE_VOICE_TRIGGER
@throws UnsupportedOperationException if the keyphrase itself isn't supported.
         Callers should only call this method after a supported state callback on
         {@link Callback#onAvailabilityChanged(int)} to avoid this exception.
@throws IllegalStateException if the detector is in an invalid state.
         This may happen if another detector has been instantiated or the
         {@link VoiceInteractionService} hosting this detector has been shut down.
*/
getSupportedRecognitionModes : function(  ) {},

/**Starts recognition for the associated keyphrase.
@param {Number} recognitionFlags The flags to control the recognition properties.
@see #RECOGNITION_FLAG_ALLOW_MULTIPLE_TRIGGERS
@param recognitionFlags The flags to control the recognition properties.
@return {Boolean} Indicates whether the call succeeded or not.
@throws UnsupportedOperationException if the recognition isn't supported.
         Callers should only call this method after a supported state callback on
         {@link Callback#onAvailabilityChanged(int)} to avoid this exception.
@throws IllegalStateException if the detector is in an invalid state.
         This may happen if another detector has been instantiated or the
         {@link VoiceInteractionService} hosting this detector has been shut down.
*/
startRecognition : function(  ) {},

/**Stops recognition for the associated keyphrase.
@return {Boolean} Indicates whether the call succeeded or not.
@throws UnsupportedOperationException if the recognition isn't supported.
         Callers should only call this method after a supported state callback on
         {@link Callback#onAvailabilityChanged(int)} to avoid this exception.
@throws IllegalStateException if the detector is in an invalid state.
         This may happen if another detector has been instantiated or the
         {@link VoiceInteractionService} hosting this detector has been shut down.
*/
stopRecognition : function(  ) {},

/**Creates an intent to start the enrollment for the associated keyphrase.
 This intent must be invoked using {@link Activity#startActivityForResult(Intent, int)}.
 Starting re-enrollment is only valid if the keyphrase is un-enrolled,
 i.e. {@link #STATE_KEYPHRASE_UNENROLLED},
 otherwise {@link #createReEnrollIntent}() should be preferred.
@return {Object {android.content.Intent}} An {@link Intent} to start enrollment for the given keyphrase.
@throws UnsupportedOperationException if managing they keyphrase isn't supported.
         Callers should only call this method after a supported state callback on
         {@link Callback#onAvailabilityChanged(int)} to avoid this exception.
@throws IllegalStateException if the detector is in an invalid state.
         This may happen if another detector has been instantiated or the
         {@link VoiceInteractionService} hosting this detector has been shut down.
*/
createEnrollIntent : function(  ) {},

/**Creates an intent to start the un-enrollment for the associated keyphrase.
 This intent must be invoked using {@link Activity#startActivityForResult(Intent, int)}.
 Starting re-enrollment is only valid if the keyphrase is already enrolled,
 i.e. {@link #STATE_KEYPHRASE_ENROLLED}, otherwise invoking this may result in an error.
@return {Object {android.content.Intent}} An {@link Intent} to start un-enrollment for the given keyphrase.
@throws UnsupportedOperationException if managing they keyphrase isn't supported.
         Callers should only call this method after a supported state callback on
         {@link Callback#onAvailabilityChanged(int)} to avoid this exception.
@throws IllegalStateException if the detector is in an invalid state.
         This may happen if another detector has been instantiated or the
         {@link VoiceInteractionService} hosting this detector has been shut down.
*/
createUnEnrollIntent : function(  ) {},

/**Creates an intent to start the re-enrollment for the associated keyphrase.
 This intent must be invoked using {@link Activity#startActivityForResult(Intent, int)}.
 Starting re-enrollment is only valid if the keyphrase is already enrolled,
 i.e. {@link #STATE_KEYPHRASE_ENROLLED}, otherwise invoking this may result in an error.
@return {Object {android.content.Intent}} An {@link Intent} to start re-enrollment for the given keyphrase.
@throws UnsupportedOperationException if managing they keyphrase isn't supported.
         Callers should only call this method after a supported state callback on
         {@link Callback#onAvailabilityChanged(int)} to avoid this exception.
@throws IllegalStateException if the detector is in an invalid state.
         This may happen if another detector has been instantiated or the
         {@link VoiceInteractionService} hosting this detector has been shut down.
*/
createReEnrollIntent : function(  ) {},

/**
@hide 
*/
dump : function(  ) {},


};