/**@class android.bluetooth.BluetoothA2dpSink
 implements android.bluetooth.BluetoothProfile

@extends java.lang.Object

 This class provides the public APIs to control the Bluetooth A2DP Sink
 profile.

 <p>BluetoothA2dpSink is a proxy object for controlling the Bluetooth A2DP Sink
 Service via IPC. Use {@link android.bluetooth.BluetoothAdapter#getProfileProxy} to get
 the BluetoothA2dpSink proxy object.

 @hide
*/
var BluetoothA2dpSink = {

/** Intent used to broadcast the change in connection state of the A2DP Sink
 profile.

 <p>This intent will have 3 extras:
 <ul>
 <li> {@link #EXTRA_STATE} - The current state of the profile. </li>
 <li> {@link #EXTRA_PREVIOUS_STATE}- The previous state of the profile.</li>
 <li> {@link android.bluetooth.BluetoothDevice#EXTRA_DEVICE} - The remote device. </li>
 </ul>

 <p>{@link #EXTRA_STATE} or {@link #EXTRA_PREVIOUS_STATE} can be any of
 {@link #STATE_DISCONNECTED}, {@link #STATE_CONNECTING},
 {@link #STATE_CONNECTED}, {@link #STATE_DISCONNECTING}.

 <p>Requires {@link android.Manifest.permission#BLUETOOTH} permission to
 receive.
*/
ACTION_CONNECTION_STATE_CHANGED : "android.bluetooth.a2dp-sink.profile.action.CONNECTION_STATE_CHANGED",
/** Intent used to broadcast the change in the Playing state of the A2DP Sink
 profile.

 <p>This intent will have 3 extras:
 <ul>
 <li> {@link #EXTRA_STATE} - The current state of the profile. </li>
 <li> {@link #EXTRA_PREVIOUS_STATE}- The previous state of the profile. </li>
 <li> {@link android.bluetooth.BluetoothDevice#EXTRA_DEVICE} - The remote device. </li>
 </ul>

 <p>{@link #EXTRA_STATE} or {@link #EXTRA_PREVIOUS_STATE} can be any of
 {@link #STATE_PLAYING}, {@link #STATE_NOT_PLAYING},

 <p>Requires {@link android.Manifest.permission#BLUETOOTH} permission to
 receive.
*/
ACTION_PLAYING_STATE_CHANGED : "android.bluetooth.a2dp-sink.profile.action.PLAYING_STATE_CHANGED",
/** A2DP sink device is streaming music. This state can be one of
 {@link #EXTRA_STATE} or {@link #EXTRA_PREVIOUS_STATE} of
 {@link #ACTION_PLAYING_STATE_CHANGED} intent.
*/
STATE_PLAYING : "10",
/** A2DP sink device is NOT streaming music. This state can be one of
 {@link #EXTRA_STATE} or {@link #EXTRA_PREVIOUS_STATE} of
 {@link #ACTION_PLAYING_STATE_CHANGED} intent.
*/
STATE_NOT_PLAYING : "11",
/** Intent used to broadcast the change in the Playing state of the A2DP Sink
 profile.

 <p>This intent will have 3 extras:
 <ul>
 <li> {@link #EXTRA_AUDIO_CONFIG} - The audio configuration for the remote device. </li>
 <li> {@link android.bluetooth.BluetoothDevice#EXTRA_DEVICE} - The remote device. </li>
 </ul>

 <p>Requires {@link android.Manifest.permission#BLUETOOTH} permission to
 receive.
*/
ACTION_AUDIO_CONFIG_CHANGED : "android.bluetooth.a2dp-sink.profile.action.AUDIO_CONFIG_CHANGED",
/** Extra for the {@link #ACTION_AUDIO_CONFIG_CHANGED} intent.

 This extra represents the current audio configuration of the A2DP source device.
 {@see BluetoothAudioConfig}
*/
EXTRA_AUDIO_CONFIG : "android.bluetooth.a2dp-sink.profile.extra.AUDIO_CONFIG",
/**
*/
finalize : function(  ) {},

/**Initiate connection to a profile of the remote bluetooth device.

 <p> Currently, the system supports only 1 connection to the
 A2DP profile. The API will automatically disconnect connected
 devices before connecting.

 <p> This API returns false in scenarios like the profile on the
 device is already connected or Bluetooth is not turned on.
 When this API returns true, it is guaranteed that
 connection state intent for the profile will be broadcasted with
 the state. Users can get the connection state of the profile
 from this intent.

 <p>Requires {@link android.Manifest.permission#BLUETOOTH_ADMIN}
 permission.
@param {Object {BluetoothDevice}} device Remote Bluetooth Device
@return {Boolean} false on immediate error, true otherwise
@hide 
*/
connect : function(  ) {},

/**Initiate disconnection from a profile

 <p> This API will return false in scenarios like the profile on the
 Bluetooth device is not in connected state etc. When this API returns,
 true, it is guaranteed that the connection state change
 intent will be broadcasted with the state. Users can get the
 disconnection state of the profile from this intent.

 <p> If the disconnection is initiated by a remote device, the state
 will transition from {@link #STATE_CONNECTED} to
 {@link #STATE_DISCONNECTED}. If the disconnect is initiated by the
 host (local) device the state will transition from
 {@link #STATE_CONNECTED} to state {@link #STATE_DISCONNECTING} to
 state {@link #STATE_DISCONNECTED}. The transition to
 {@link #STATE_DISCONNECTING} can be used to distinguish between the
 two scenarios.

 <p>Requires {@link android.Manifest.permission#BLUETOOTH_ADMIN}
 permission.
@param {Object {BluetoothDevice}} device Remote Bluetooth Device
@return {Boolean} false on immediate error, true otherwise
@hide 
*/
disconnect : function(  ) {},

/**{@inheritDoc}
*/
getConnectedDevices : function(  ) {},

/**{@inheritDoc}
*/
getDevicesMatchingConnectionStates : function(  ) {},

/**{@inheritDoc}
*/
getConnectionState : function(  ) {},

/**Get the current audio configuration for the A2DP source device,
 or null if the device has no audio configuration

 <p>Requires {@link android.Manifest.permission#BLUETOOTH} permission.
@param {Object {BluetoothDevice}} device Remote bluetooth device.
@return {Object {android.bluetooth.BluetoothAudioConfig}} audio configuration for the device, or null

 {@see BluetoothAudioConfig}
*/
getAudioConfig : function(  ) {},

/**Set priority of the profile

 <p> The device should already be paired.
 Priority can be one of {@link #PRIORITY_ON} orgetBluetoothManager
 {@link #PRIORITY_OFF},

 <p>Requires {@link android.Manifest.permission#BLUETOOTH_ADMIN}
 permission.
@param {Object {BluetoothDevice}} device Paired bluetooth device
@param {Number} priority
@return {Boolean} true if priority is set, false on error
@hide 
*/
setPriority : function(  ) {},

/**Get the priority of the profile.

 <p> The priority can be any of:
 {@link #PRIORITY_AUTO_CONNECT}, {@link #PRIORITY_OFF},
 {@link #PRIORITY_ON}, {@link #PRIORITY_UNDEFINED}

 <p>Requires {@link android.Manifest.permission#BLUETOOTH} permission.
@param {Object {BluetoothDevice}} device Bluetooth device
@return {Number} priority of the device
@hide 
*/
getPriority : function(  ) {},

/**Check if A2DP profile is streaming music.

 <p>Requires {@link android.Manifest.permission#BLUETOOTH} permission.
@param {Object {BluetoothDevice}} device BluetoothDevice device
*/
isA2dpPlaying : function(  ) {},

/**Helper for converting a state to a string.

 For debug use only - strings are not internationalized.
@hide 
*/
stateToString : function(  ) {},


};