Loading api/current.xml +44 −0 Original line number Diff line number Diff line Loading @@ -50131,6 +50131,17 @@ visibility="public" > </field> <field name="CATEGORY_HE_DESK_DOCK" type="java.lang.String" transient="false" volatile="false" value=""android.intent.category.HE_DESK_DOCK"" static="true" final="true" deprecated="not deprecated" visibility="public" > </field> <field name="CATEGORY_HOME" type="java.lang.String" transient="false" Loading Loading @@ -50164,6 +50175,17 @@ visibility="public" > </field> <field name="CATEGORY_LE_DESK_DOCK" type="java.lang.String" transient="false" volatile="false" value=""android.intent.category.LE_DESK_DOCK"" static="true" final="true" deprecated="not deprecated" visibility="public" > </field> <field name="CATEGORY_MONKEY" type="java.lang.String" transient="false" Loading Loading @@ -50383,6 +50405,28 @@ visibility="public" > </field> <field name="EXTRA_DOCK_STATE_HE_DESK" type="int" transient="false" volatile="false" value="4" static="true" final="true" deprecated="not deprecated" visibility="public" > </field> <field name="EXTRA_DOCK_STATE_LE_DESK" type="int" transient="false" volatile="false" value="3" static="true" final="true" deprecated="not deprecated" visibility="public" > </field> <field name="EXTRA_DOCK_STATE_UNDOCKED" type="int" transient="false" core/java/android/content/Intent.java +64 −1 Original line number Diff line number Diff line Loading @@ -533,6 +533,8 @@ import java.util.Set; * <li> {@link #CATEGORY_TEST} * <li> {@link #CATEGORY_CAR_DOCK} * <li> {@link #CATEGORY_DESK_DOCK} * <li> {@link #CATEGORY_LE_DESK_DOCK} * <li> {@link #CATEGORY_HE_DESK_DOCK} * <li> {@link #CATEGORY_CAR_MODE} * <li> {@link #CATEGORY_APP_MARKET} * </ul> Loading @@ -549,6 +551,8 @@ import java.util.Set; * <li> {@link #EXTRA_CHANGED_COMPONENT_NAME} * <li> {@link #EXTRA_DATA_REMOVED} * <li> {@link #EXTRA_DOCK_STATE} * <li> {@link #EXTRA_DOCK_STATE_HE_DESK} * <li> {@link #EXTRA_DOCK_STATE_LE_DESK} * <li> {@link #EXTRA_DOCK_STATE_CAR} * <li> {@link #EXTRA_DOCK_STATE_DESK} * <li> {@link #EXTRA_DOCK_STATE_UNDOCKED} Loading Loading @@ -1821,6 +1825,36 @@ public class Intent implements Parcelable, Cloneable { public static final String ACTION_HEADSET_PLUG = "android.intent.action.HEADSET_PLUG"; /** * Broadcast Action: An analog audio speaker/headset plugged in or unplugged. * * <p>The intent will have the following extra values: * <ul> * <li><em>state</em> - 0 for unplugged, 1 for plugged. </li> * <li><em>name</em> - Headset type, human readable string </li> * </ul> * </ul> * @hide */ @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) public static final String ACTION_USB_ANLG_HEADSET_PLUG = "android.intent.action.DOCK_HEADSET_PLUG"; /** * Broadcast Action: An analog audio speaker/headset plugged in or unplugged. * * <p>The intent will have the following extra values: * <ul> * <li><em>state</em> - 0 for unplugged, 1 for plugged. </li> * <li><em>name</em> - Headset type, human readable string </li> * </ul> * </ul> * @hide */ @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) public static final String ACTION_USB_DGTL_HEADSET_PLUG = "android.intent.action.DOCK_HEADSET_PLUG"; /** * Broadcast Action: An outgoing call is about to be placed. * Loading Loading @@ -2060,6 +2094,21 @@ public class Intent implements Parcelable, Cloneable { */ @SdkConstant(SdkConstantType.INTENT_CATEGORY) public static final String CATEGORY_DESK_DOCK = "android.intent.category.DESK_DOCK"; /** * An activity to run when device is inserted into a analog (low end) dock. * Used with {@link #ACTION_MAIN} to launch an activity. For more * information, see {@link android.app.UiModeManager}. */ @SdkConstant(SdkConstantType.INTENT_CATEGORY) public static final String CATEGORY_LE_DESK_DOCK = "android.intent.category.LE_DESK_DOCK"; /** * An activity to run when device is inserted into a digital (high end) dock. * Used with {@link #ACTION_MAIN} to launch an activity. For more * information, see {@link android.app.UiModeManager}. */ @SdkConstant(SdkConstantType.INTENT_CATEGORY) public static final String CATEGORY_HE_DESK_DOCK = "android.intent.category.HE_DESK_DOCK"; /** * Used to indicate that the activity can be used in a car environment. Loading Loading @@ -2208,7 +2257,9 @@ public class Intent implements Parcelable, Cloneable { * intents to request the dock state. Possible values are * {@link android.content.Intent#EXTRA_DOCK_STATE_UNDOCKED}, * {@link android.content.Intent#EXTRA_DOCK_STATE_DESK}, or * {@link android.content.Intent#EXTRA_DOCK_STATE_CAR}. * {@link android.content.Intent#EXTRA_DOCK_STATE_CAR}, or * {@link android.content.Intent#EXTRA_DOCK_STATE_LE_DESK}, or * {@link android.content.Intent#EXTRA_DOCK_STATE_HE_DESK}. */ public static final String EXTRA_DOCK_STATE = "android.intent.extra.DOCK_STATE"; Loading @@ -2230,6 +2281,18 @@ public class Intent implements Parcelable, Cloneable { */ public static final int EXTRA_DOCK_STATE_CAR = 2; /** * Used as an int value for {@link android.content.Intent#EXTRA_DOCK_STATE} * to represent that the phone is in a analog (low end) dock. */ public static final int EXTRA_DOCK_STATE_LE_DESK = 3; /** * Used as an int value for {@link android.content.Intent#EXTRA_DOCK_STATE} * to represent that the phone is in a digital (high end) dock. */ public static final int EXTRA_DOCK_STATE_HE_DESK = 4; /** * Boolean that can be supplied as meta-data with a dock activity, to * indicate that the dock should take over the home key when it is active. Loading include/media/AudioSystem.h +7 −1 Original line number Diff line number Diff line Loading @@ -262,11 +262,15 @@ public: DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES = 0x100, DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER = 0x200, DEVICE_OUT_AUX_DIGITAL = 0x400, DEVICE_OUT_ANLG_DOCK_HEADSET = 0x800, DEVICE_OUT_DGTL_DOCK_HEADSET = 0x1000, DEVICE_OUT_DEFAULT = 0x8000, DEVICE_OUT_ALL = (DEVICE_OUT_EARPIECE | DEVICE_OUT_SPEAKER | DEVICE_OUT_WIRED_HEADSET | DEVICE_OUT_WIRED_HEADPHONE | DEVICE_OUT_BLUETOOTH_SCO | DEVICE_OUT_BLUETOOTH_SCO_HEADSET | DEVICE_OUT_BLUETOOTH_SCO_CARKIT | DEVICE_OUT_BLUETOOTH_A2DP | DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES | DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER | DEVICE_OUT_AUX_DIGITAL | DEVICE_OUT_DEFAULT), DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER | DEVICE_OUT_AUX_DIGITAL | DEVICE_OUT_ANLG_DOCK_HEADSET | DEVICE_OUT_DGTL_DOCK_HEADSET | DEVICE_OUT_DEFAULT), DEVICE_OUT_ALL_A2DP = (DEVICE_OUT_BLUETOOTH_A2DP | DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES | DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER), Loading Loading @@ -309,6 +313,8 @@ public: FORCE_WIRED_ACCESSORY, FORCE_BT_CAR_DOCK, FORCE_BT_DESK_DOCK, FORCE_ANALOG_DOCK, FORCE_DIGITAL_DOCK, NUM_FORCE_CONFIG, FORCE_DEFAULT = FORCE_NONE }; Loading media/java/android/media/AudioService.java +35 −0 Original line number Diff line number Diff line Loading @@ -307,10 +307,13 @@ public class AudioService extends IAudioService.Stub { // Register for device connection intent broadcasts. IntentFilter intentFilter = new IntentFilter(Intent.ACTION_HEADSET_PLUG); intentFilter.addAction(BluetoothA2dp.ACTION_CONNECTION_STATE_CHANGED); intentFilter.addAction(BluetoothHeadset.ACTION_AUDIO_STATE_CHANGED); intentFilter.addAction(BluetoothHeadset.ACTION_CONNECTION_STATE_CHANGED); intentFilter.addAction(Intent.ACTION_DOCK_EVENT); intentFilter.addAction(Intent.ACTION_USB_ANLG_HEADSET_PLUG); intentFilter.addAction(Intent.ACTION_USB_DGTL_HEADSET_PLUG); context.registerReceiver(mReceiver, intentFilter); // Register for media button intent broadcasts. Loading Loading @@ -1816,6 +1819,12 @@ public class AudioService extends IAudioService.Stub { case Intent.EXTRA_DOCK_STATE_CAR: config = AudioSystem.FORCE_BT_CAR_DOCK; break; case Intent.EXTRA_DOCK_STATE_LE_DESK: config = AudioSystem.FORCE_ANALOG_DOCK; break; case Intent.EXTRA_DOCK_STATE_HE_DESK: config = AudioSystem.FORCE_DIGITAL_DOCK; break; case Intent.EXTRA_DOCK_STATE_UNDOCKED: default: config = AudioSystem.FORCE_NONE; Loading Loading @@ -1927,6 +1936,32 @@ public class AudioService extends IAudioService.Stub { mConnectedDevices.put( new Integer(AudioSystem.DEVICE_OUT_WIRED_HEADPHONE), ""); } } } else if (action.equals(Intent.ACTION_USB_ANLG_HEADSET_PLUG)) { int state = intent.getIntExtra("state", 0); Log.v(TAG, "Broadcast Receiver: Got ACTION_USB_ANLG_HEADSET_PLUG, state = "+state); boolean isConnected = mConnectedDevices.containsKey(AudioSystem.DEVICE_OUT_ANLG_DOCK_HEADSET); if (state == 0 && isConnected) { AudioSystem.setDeviceConnectionState(AudioSystem.DEVICE_OUT_ANLG_DOCK_HEADSET, AudioSystem.DEVICE_STATE_UNAVAILABLE, ""); mConnectedDevices.remove(AudioSystem.DEVICE_OUT_ANLG_DOCK_HEADSET); } else if (state == 1 && !isConnected) { AudioSystem.setDeviceConnectionState(AudioSystem.DEVICE_OUT_ANLG_DOCK_HEADSET, AudioSystem.DEVICE_STATE_AVAILABLE, ""); mConnectedDevices.put( new Integer(AudioSystem.DEVICE_OUT_ANLG_DOCK_HEADSET), ""); } } else if (action.equals(Intent.ACTION_USB_DGTL_HEADSET_PLUG)) { int state = intent.getIntExtra("state", 0); Log.v(TAG, "Broadcast Receiver: Got ACTION_USB_DGTL_HEADSET_PLUG, state = "+state); boolean isConnected = mConnectedDevices.containsKey(AudioSystem.DEVICE_OUT_DGTL_DOCK_HEADSET); if (state == 0 && isConnected) { AudioSystem.setDeviceConnectionState(AudioSystem.DEVICE_OUT_DGTL_DOCK_HEADSET, AudioSystem.DEVICE_STATE_UNAVAILABLE, ""); mConnectedDevices.remove(AudioSystem.DEVICE_OUT_DGTL_DOCK_HEADSET); } else if (state == 1 && !isConnected) { AudioSystem.setDeviceConnectionState(AudioSystem.DEVICE_OUT_DGTL_DOCK_HEADSET, AudioSystem.DEVICE_STATE_AVAILABLE, ""); mConnectedDevices.put( new Integer(AudioSystem.DEVICE_OUT_DGTL_DOCK_HEADSET), ""); } } else if (action.equals(BluetoothHeadset.ACTION_AUDIO_STATE_CHANGED)) { int state = intent.getIntExtra(BluetoothProfile.EXTRA_STATE, -1); synchronized (mScoClients) { Loading media/java/android/media/AudioSystem.java +4 −0 Original line number Diff line number Diff line Loading @@ -243,6 +243,8 @@ public class AudioSystem public static final int DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES = 0x100; public static final int DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER = 0x200; public static final int DEVICE_OUT_AUX_DIGITAL = 0x400; public static final int DEVICE_OUT_ANLG_DOCK_HEADSET = 0x800; public static final int DEVICE_OUT_DGTL_DOCK_HEADSET = 0x1000; public static final int DEVICE_OUT_DEFAULT = 0x8000; // input devices public static final int DEVICE_IN_COMMUNICATION = 0x10000; Loading Loading @@ -273,6 +275,8 @@ public class AudioSystem public static final int FORCE_WIRED_ACCESSORY = 5; public static final int FORCE_BT_CAR_DOCK = 6; public static final int FORCE_BT_DESK_DOCK = 7; public static final int FORCE_ANALOG_DOCK = 8; public static final int FORCE_DIGITAL_DOCK = 9; public static final int FORCE_DEFAULT = FORCE_NONE; // usage for serForceUse Loading Loading
api/current.xml +44 −0 Original line number Diff line number Diff line Loading @@ -50131,6 +50131,17 @@ visibility="public" > </field> <field name="CATEGORY_HE_DESK_DOCK" type="java.lang.String" transient="false" volatile="false" value=""android.intent.category.HE_DESK_DOCK"" static="true" final="true" deprecated="not deprecated" visibility="public" > </field> <field name="CATEGORY_HOME" type="java.lang.String" transient="false" Loading Loading @@ -50164,6 +50175,17 @@ visibility="public" > </field> <field name="CATEGORY_LE_DESK_DOCK" type="java.lang.String" transient="false" volatile="false" value=""android.intent.category.LE_DESK_DOCK"" static="true" final="true" deprecated="not deprecated" visibility="public" > </field> <field name="CATEGORY_MONKEY" type="java.lang.String" transient="false" Loading Loading @@ -50383,6 +50405,28 @@ visibility="public" > </field> <field name="EXTRA_DOCK_STATE_HE_DESK" type="int" transient="false" volatile="false" value="4" static="true" final="true" deprecated="not deprecated" visibility="public" > </field> <field name="EXTRA_DOCK_STATE_LE_DESK" type="int" transient="false" volatile="false" value="3" static="true" final="true" deprecated="not deprecated" visibility="public" > </field> <field name="EXTRA_DOCK_STATE_UNDOCKED" type="int" transient="false"
core/java/android/content/Intent.java +64 −1 Original line number Diff line number Diff line Loading @@ -533,6 +533,8 @@ import java.util.Set; * <li> {@link #CATEGORY_TEST} * <li> {@link #CATEGORY_CAR_DOCK} * <li> {@link #CATEGORY_DESK_DOCK} * <li> {@link #CATEGORY_LE_DESK_DOCK} * <li> {@link #CATEGORY_HE_DESK_DOCK} * <li> {@link #CATEGORY_CAR_MODE} * <li> {@link #CATEGORY_APP_MARKET} * </ul> Loading @@ -549,6 +551,8 @@ import java.util.Set; * <li> {@link #EXTRA_CHANGED_COMPONENT_NAME} * <li> {@link #EXTRA_DATA_REMOVED} * <li> {@link #EXTRA_DOCK_STATE} * <li> {@link #EXTRA_DOCK_STATE_HE_DESK} * <li> {@link #EXTRA_DOCK_STATE_LE_DESK} * <li> {@link #EXTRA_DOCK_STATE_CAR} * <li> {@link #EXTRA_DOCK_STATE_DESK} * <li> {@link #EXTRA_DOCK_STATE_UNDOCKED} Loading Loading @@ -1821,6 +1825,36 @@ public class Intent implements Parcelable, Cloneable { public static final String ACTION_HEADSET_PLUG = "android.intent.action.HEADSET_PLUG"; /** * Broadcast Action: An analog audio speaker/headset plugged in or unplugged. * * <p>The intent will have the following extra values: * <ul> * <li><em>state</em> - 0 for unplugged, 1 for plugged. </li> * <li><em>name</em> - Headset type, human readable string </li> * </ul> * </ul> * @hide */ @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) public static final String ACTION_USB_ANLG_HEADSET_PLUG = "android.intent.action.DOCK_HEADSET_PLUG"; /** * Broadcast Action: An analog audio speaker/headset plugged in or unplugged. * * <p>The intent will have the following extra values: * <ul> * <li><em>state</em> - 0 for unplugged, 1 for plugged. </li> * <li><em>name</em> - Headset type, human readable string </li> * </ul> * </ul> * @hide */ @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) public static final String ACTION_USB_DGTL_HEADSET_PLUG = "android.intent.action.DOCK_HEADSET_PLUG"; /** * Broadcast Action: An outgoing call is about to be placed. * Loading Loading @@ -2060,6 +2094,21 @@ public class Intent implements Parcelable, Cloneable { */ @SdkConstant(SdkConstantType.INTENT_CATEGORY) public static final String CATEGORY_DESK_DOCK = "android.intent.category.DESK_DOCK"; /** * An activity to run when device is inserted into a analog (low end) dock. * Used with {@link #ACTION_MAIN} to launch an activity. For more * information, see {@link android.app.UiModeManager}. */ @SdkConstant(SdkConstantType.INTENT_CATEGORY) public static final String CATEGORY_LE_DESK_DOCK = "android.intent.category.LE_DESK_DOCK"; /** * An activity to run when device is inserted into a digital (high end) dock. * Used with {@link #ACTION_MAIN} to launch an activity. For more * information, see {@link android.app.UiModeManager}. */ @SdkConstant(SdkConstantType.INTENT_CATEGORY) public static final String CATEGORY_HE_DESK_DOCK = "android.intent.category.HE_DESK_DOCK"; /** * Used to indicate that the activity can be used in a car environment. Loading Loading @@ -2208,7 +2257,9 @@ public class Intent implements Parcelable, Cloneable { * intents to request the dock state. Possible values are * {@link android.content.Intent#EXTRA_DOCK_STATE_UNDOCKED}, * {@link android.content.Intent#EXTRA_DOCK_STATE_DESK}, or * {@link android.content.Intent#EXTRA_DOCK_STATE_CAR}. * {@link android.content.Intent#EXTRA_DOCK_STATE_CAR}, or * {@link android.content.Intent#EXTRA_DOCK_STATE_LE_DESK}, or * {@link android.content.Intent#EXTRA_DOCK_STATE_HE_DESK}. */ public static final String EXTRA_DOCK_STATE = "android.intent.extra.DOCK_STATE"; Loading @@ -2230,6 +2281,18 @@ public class Intent implements Parcelable, Cloneable { */ public static final int EXTRA_DOCK_STATE_CAR = 2; /** * Used as an int value for {@link android.content.Intent#EXTRA_DOCK_STATE} * to represent that the phone is in a analog (low end) dock. */ public static final int EXTRA_DOCK_STATE_LE_DESK = 3; /** * Used as an int value for {@link android.content.Intent#EXTRA_DOCK_STATE} * to represent that the phone is in a digital (high end) dock. */ public static final int EXTRA_DOCK_STATE_HE_DESK = 4; /** * Boolean that can be supplied as meta-data with a dock activity, to * indicate that the dock should take over the home key when it is active. Loading
include/media/AudioSystem.h +7 −1 Original line number Diff line number Diff line Loading @@ -262,11 +262,15 @@ public: DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES = 0x100, DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER = 0x200, DEVICE_OUT_AUX_DIGITAL = 0x400, DEVICE_OUT_ANLG_DOCK_HEADSET = 0x800, DEVICE_OUT_DGTL_DOCK_HEADSET = 0x1000, DEVICE_OUT_DEFAULT = 0x8000, DEVICE_OUT_ALL = (DEVICE_OUT_EARPIECE | DEVICE_OUT_SPEAKER | DEVICE_OUT_WIRED_HEADSET | DEVICE_OUT_WIRED_HEADPHONE | DEVICE_OUT_BLUETOOTH_SCO | DEVICE_OUT_BLUETOOTH_SCO_HEADSET | DEVICE_OUT_BLUETOOTH_SCO_CARKIT | DEVICE_OUT_BLUETOOTH_A2DP | DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES | DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER | DEVICE_OUT_AUX_DIGITAL | DEVICE_OUT_DEFAULT), DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER | DEVICE_OUT_AUX_DIGITAL | DEVICE_OUT_ANLG_DOCK_HEADSET | DEVICE_OUT_DGTL_DOCK_HEADSET | DEVICE_OUT_DEFAULT), DEVICE_OUT_ALL_A2DP = (DEVICE_OUT_BLUETOOTH_A2DP | DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES | DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER), Loading Loading @@ -309,6 +313,8 @@ public: FORCE_WIRED_ACCESSORY, FORCE_BT_CAR_DOCK, FORCE_BT_DESK_DOCK, FORCE_ANALOG_DOCK, FORCE_DIGITAL_DOCK, NUM_FORCE_CONFIG, FORCE_DEFAULT = FORCE_NONE }; Loading
media/java/android/media/AudioService.java +35 −0 Original line number Diff line number Diff line Loading @@ -307,10 +307,13 @@ public class AudioService extends IAudioService.Stub { // Register for device connection intent broadcasts. IntentFilter intentFilter = new IntentFilter(Intent.ACTION_HEADSET_PLUG); intentFilter.addAction(BluetoothA2dp.ACTION_CONNECTION_STATE_CHANGED); intentFilter.addAction(BluetoothHeadset.ACTION_AUDIO_STATE_CHANGED); intentFilter.addAction(BluetoothHeadset.ACTION_CONNECTION_STATE_CHANGED); intentFilter.addAction(Intent.ACTION_DOCK_EVENT); intentFilter.addAction(Intent.ACTION_USB_ANLG_HEADSET_PLUG); intentFilter.addAction(Intent.ACTION_USB_DGTL_HEADSET_PLUG); context.registerReceiver(mReceiver, intentFilter); // Register for media button intent broadcasts. Loading Loading @@ -1816,6 +1819,12 @@ public class AudioService extends IAudioService.Stub { case Intent.EXTRA_DOCK_STATE_CAR: config = AudioSystem.FORCE_BT_CAR_DOCK; break; case Intent.EXTRA_DOCK_STATE_LE_DESK: config = AudioSystem.FORCE_ANALOG_DOCK; break; case Intent.EXTRA_DOCK_STATE_HE_DESK: config = AudioSystem.FORCE_DIGITAL_DOCK; break; case Intent.EXTRA_DOCK_STATE_UNDOCKED: default: config = AudioSystem.FORCE_NONE; Loading Loading @@ -1927,6 +1936,32 @@ public class AudioService extends IAudioService.Stub { mConnectedDevices.put( new Integer(AudioSystem.DEVICE_OUT_WIRED_HEADPHONE), ""); } } } else if (action.equals(Intent.ACTION_USB_ANLG_HEADSET_PLUG)) { int state = intent.getIntExtra("state", 0); Log.v(TAG, "Broadcast Receiver: Got ACTION_USB_ANLG_HEADSET_PLUG, state = "+state); boolean isConnected = mConnectedDevices.containsKey(AudioSystem.DEVICE_OUT_ANLG_DOCK_HEADSET); if (state == 0 && isConnected) { AudioSystem.setDeviceConnectionState(AudioSystem.DEVICE_OUT_ANLG_DOCK_HEADSET, AudioSystem.DEVICE_STATE_UNAVAILABLE, ""); mConnectedDevices.remove(AudioSystem.DEVICE_OUT_ANLG_DOCK_HEADSET); } else if (state == 1 && !isConnected) { AudioSystem.setDeviceConnectionState(AudioSystem.DEVICE_OUT_ANLG_DOCK_HEADSET, AudioSystem.DEVICE_STATE_AVAILABLE, ""); mConnectedDevices.put( new Integer(AudioSystem.DEVICE_OUT_ANLG_DOCK_HEADSET), ""); } } else if (action.equals(Intent.ACTION_USB_DGTL_HEADSET_PLUG)) { int state = intent.getIntExtra("state", 0); Log.v(TAG, "Broadcast Receiver: Got ACTION_USB_DGTL_HEADSET_PLUG, state = "+state); boolean isConnected = mConnectedDevices.containsKey(AudioSystem.DEVICE_OUT_DGTL_DOCK_HEADSET); if (state == 0 && isConnected) { AudioSystem.setDeviceConnectionState(AudioSystem.DEVICE_OUT_DGTL_DOCK_HEADSET, AudioSystem.DEVICE_STATE_UNAVAILABLE, ""); mConnectedDevices.remove(AudioSystem.DEVICE_OUT_DGTL_DOCK_HEADSET); } else if (state == 1 && !isConnected) { AudioSystem.setDeviceConnectionState(AudioSystem.DEVICE_OUT_DGTL_DOCK_HEADSET, AudioSystem.DEVICE_STATE_AVAILABLE, ""); mConnectedDevices.put( new Integer(AudioSystem.DEVICE_OUT_DGTL_DOCK_HEADSET), ""); } } else if (action.equals(BluetoothHeadset.ACTION_AUDIO_STATE_CHANGED)) { int state = intent.getIntExtra(BluetoothProfile.EXTRA_STATE, -1); synchronized (mScoClients) { Loading
media/java/android/media/AudioSystem.java +4 −0 Original line number Diff line number Diff line Loading @@ -243,6 +243,8 @@ public class AudioSystem public static final int DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES = 0x100; public static final int DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER = 0x200; public static final int DEVICE_OUT_AUX_DIGITAL = 0x400; public static final int DEVICE_OUT_ANLG_DOCK_HEADSET = 0x800; public static final int DEVICE_OUT_DGTL_DOCK_HEADSET = 0x1000; public static final int DEVICE_OUT_DEFAULT = 0x8000; // input devices public static final int DEVICE_IN_COMMUNICATION = 0x10000; Loading Loading @@ -273,6 +275,8 @@ public class AudioSystem public static final int FORCE_WIRED_ACCESSORY = 5; public static final int FORCE_BT_CAR_DOCK = 6; public static final int FORCE_BT_DESK_DOCK = 7; public static final int FORCE_ANALOG_DOCK = 8; public static final int FORCE_DIGITAL_DOCK = 9; public static final int FORCE_DEFAULT = FORCE_NONE; // usage for serForceUse Loading