diff options
| -rw-r--r-- | api/current.xml | 1186 | ||||
| -rw-r--r-- | core/java/android/bluetooth/BluetoothAssignedNumbers.java | 4 | ||||
| -rw-r--r-- | core/java/android/bluetooth/BluetoothHeadset.java | 88 |
3 files changed, 1261 insertions, 17 deletions
diff --git a/api/current.xml b/api/current.xml index e3fcfcfffac5..715b49a36cb9 100644 --- a/api/current.xml +++ b/api/current.xml @@ -36773,6 +36773,1082 @@ > </field> </class> +<class name="BluetoothAssignedNumbers" + extends="java.lang.Object" + abstract="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +> +<field name="ACCEL_SEMICONDUCTOR" + type="int" + transient="false" + volatile="false" + value="74" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="ALCATEL" + type="int" + transient="false" + volatile="false" + value="36" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="APPLE" + type="int" + transient="false" + volatile="false" + value="76" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="APT_LICENSING" + type="int" + transient="false" + volatile="false" + value="79" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="ATHEROS_COMMUNICATIONS" + type="int" + transient="false" + volatile="false" + value="69" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="ATMEL" + type="int" + transient="false" + volatile="false" + value="19" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="AVAGO" + type="int" + transient="false" + volatile="false" + value="78" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="AVM_BERLIN" + type="int" + transient="false" + volatile="false" + value="31" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="BANDSPEED" + type="int" + transient="false" + volatile="false" + value="32" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="BELKIN_INTERNATIONAL" + type="int" + transient="false" + volatile="false" + value="92" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="BLUEGIGA" + type="int" + transient="false" + volatile="false" + value="71" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="BLUETOOTH_SIG" + type="int" + transient="false" + volatile="false" + value="63" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="BROADCOM" + type="int" + transient="false" + volatile="false" + value="15" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="CAMBRIDGE_SILICON_RADIO" + type="int" + transient="false" + volatile="false" + value="10" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="CATC" + type="int" + transient="false" + volatile="false" + value="52" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="COMMIL" + type="int" + transient="false" + volatile="false" + value="51" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="CONEXANT_SYSTEMS" + type="int" + transient="false" + volatile="false" + value="28" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="CONTINENTAL_AUTOMOTIVE" + type="int" + transient="false" + volatile="false" + value="75" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="CONWISE_TECHNOLOGY" + type="int" + transient="false" + volatile="false" + value="66" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="C_TECHNOLOGIES" + type="int" + transient="false" + volatile="false" + value="38" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="DIGIANSWER" + type="int" + transient="false" + volatile="false" + value="12" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="ECLIPSE" + type="int" + transient="false" + volatile="false" + value="53" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="EM_MICROELECTRONIC_MARIN" + type="int" + transient="false" + volatile="false" + value="90" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="ERICSSON_TECHNOLOGY" + type="int" + transient="false" + volatile="false" + value="0" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="FREE2MOVE" + type="int" + transient="false" + volatile="false" + value="83" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="GCT_SEMICONDUCTOR" + type="int" + transient="false" + volatile="false" + value="45" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="GENNUM" + type="int" + transient="false" + volatile="false" + value="59" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="HARMAN_INTERNATIONAL" + type="int" + transient="false" + volatile="false" + value="87" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="HITACHI" + type="int" + transient="false" + volatile="false" + value="41" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="IBM" + type="int" + transient="false" + volatile="false" + value="3" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="INFINEON_TECHNOLOGIES" + type="int" + transient="false" + volatile="false" + value="9" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="INTEGRATED_SILICON_SOLUTION" + type="int" + transient="false" + volatile="false" + value="65" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="INTEGRATED_SYSTEM_SOLUTION" + type="int" + transient="false" + volatile="false" + value="57" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="INTEL" + type="int" + transient="false" + volatile="false" + value="2" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="INVENTEL" + type="int" + transient="false" + volatile="false" + value="30" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="IPEXTREME" + type="int" + transient="false" + volatile="false" + value="61" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="J_AND_M" + type="int" + transient="false" + volatile="false" + value="82" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="KC_TECHNOLOGY" + type="int" + transient="false" + volatile="false" + value="22" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="LUCENT" + type="int" + transient="false" + volatile="false" + value="7" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="MACRONIX" + type="int" + transient="false" + volatile="false" + value="44" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="MANSELLA" + type="int" + transient="false" + volatile="false" + value="33" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="MARVELL" + type="int" + transient="false" + volatile="false" + value="72" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="MATSUSHITA_ELECTRIC" + type="int" + transient="false" + volatile="false" + value="58" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="MEDIATEK" + type="int" + transient="false" + volatile="false" + value="70" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="MEWTEL_TECHNOLOGY" + type="int" + transient="false" + volatile="false" + value="47" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="MICROSOFT" + type="int" + transient="false" + volatile="false" + value="6" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="MITEL_SEMICONDUCTOR" + type="int" + transient="false" + volatile="false" + value="16" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="MITSUBISHI_ELECTRIC" + type="int" + transient="false" + volatile="false" + value="20" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="MOBILIAN_CORPORATION" + type="int" + transient="false" + volatile="false" + value="55" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="MOTOROLA" + type="int" + transient="false" + volatile="false" + value="8" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="NEC" + type="int" + transient="false" + volatile="false" + value="34" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="NEWLOGIC" + type="int" + transient="false" + volatile="false" + value="23" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="NOKIA_MOBILE_PHONES" + type="int" + transient="false" + volatile="false" + value="1" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="NORDIC_SEMICONDUCTOR" + type="int" + transient="false" + volatile="false" + value="89" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="NORWOOD_SYSTEMS" + type="int" + transient="false" + volatile="false" + value="46" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="OPEN_INTERFACE" + type="int" + transient="false" + volatile="false" + value="39" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="PARROT" + type="int" + transient="false" + volatile="false" + value="67" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="PARTHUS_TECHNOLOGIES" + type="int" + transient="false" + volatile="false" + value="14" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="PHILIPS_SEMICONDUCTORS" + type="int" + transient="false" + volatile="false" + value="37" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="PLANTRONICS" + type="int" + transient="false" + volatile="false" + value="85" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="QUALCOMM" + type="int" + transient="false" + volatile="false" + value="29" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="RALINK_TECHNOLOGY" + type="int" + transient="false" + volatile="false" + value="91" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="REALTEK_SEMICONDUCTOR" + type="int" + transient="false" + volatile="false" + value="93" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="RED_M" + type="int" + transient="false" + volatile="false" + value="50" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="RENESAS_TECHNOLOGY" + type="int" + transient="false" + volatile="false" + value="54" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="RESEARCH_IN_MOTION" + type="int" + transient="false" + volatile="false" + value="60" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="RF_MICRO_DEVICES" + type="int" + transient="false" + volatile="false" + value="40" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="RIVIERAWAVES" + type="int" + transient="false" + volatile="false" + value="96" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="ROHDE_AND_SCHWARZ" + type="int" + transient="false" + volatile="false" + value="25" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="RTX_TELECOM" + type="int" + transient="false" + volatile="false" + value="21" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="SEIKO_EPSON" + type="int" + transient="false" + volatile="false" + value="64" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="SIGNIA_TECHNOLOGIES" + type="int" + transient="false" + volatile="false" + value="27" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="SILICON_WAVE" + type="int" + transient="false" + volatile="false" + value="11" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="SIRF_TECHNOLOGY" + type="int" + transient="false" + volatile="false" + value="80" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="SOCKET_MOBILE" + type="int" + transient="false" + volatile="false" + value="68" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="SONY_ERICSSON" + type="int" + transient="false" + volatile="false" + value="86" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="STACCATO_COMMUNICATIONS" + type="int" + transient="false" + volatile="false" + value="77" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="STONESTREET_ONE" + type="int" + transient="false" + volatile="false" + value="94" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="ST_MICROELECTRONICS" + type="int" + transient="false" + volatile="false" + value="48" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="SYMBOL_TECHNOLOGIES" + type="int" + transient="false" + volatile="false" + value="42" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="SYNOPSYS" + type="int" + transient="false" + volatile="false" + value="49" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="SYSTEMS_AND_CHIPS" + type="int" + transient="false" + volatile="false" + value="62" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="TENOVIS" + type="int" + transient="false" + volatile="false" + value="43" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="TERAX" + type="int" + transient="false" + volatile="false" + value="56" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="TEXAS_INSTRUMENTS" + type="int" + transient="false" + volatile="false" + value="13" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="THREECOM" + type="int" + transient="false" + volatile="false" + value="5" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="THREE_DIJOY" + type="int" + transient="false" + volatile="false" + value="84" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="THREE_DSP" + type="int" + transient="false" + volatile="false" + value="73" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="TOSHIBA" + type="int" + transient="false" + volatile="false" + value="4" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="TRANSILICA" + type="int" + transient="false" + volatile="false" + value="24" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="TTPCOM" + type="int" + transient="false" + volatile="false" + value="26" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="TZERO_TECHNOLOGIES" + type="int" + transient="false" + volatile="false" + value="81" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="VIZIO" + type="int" + transient="false" + volatile="false" + value="88" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="WAVEPLUS_TECHNOLOGY" + type="int" + transient="false" + volatile="false" + value="35" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="WICENTRIC" + type="int" + transient="false" + volatile="false" + value="95" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="WIDCOMM" + type="int" + transient="false" + volatile="false" + value="17" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="ZEEVO" + type="int" + transient="false" + volatile="false" + value="18" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +</class> <class name="BluetoothClass" extends="java.lang.Object" abstract="false" @@ -38077,6 +39153,105 @@ visibility="public" > </field> +<field name="ACTION_VENDOR_SPECIFIC_HEADSET_EVENT" + type="java.lang.String" + transient="false" + volatile="false" + value=""android.bluetooth.headset.action.VENDOR_SPECIFIC_HEADSET_EVENT"" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="AT_CMD_TYPE_ACTION" + type="int" + transient="false" + volatile="false" + value="4" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="AT_CMD_TYPE_BASIC" + type="int" + transient="false" + volatile="false" + value="3" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="AT_CMD_TYPE_READ" + type="int" + transient="false" + volatile="false" + value="0" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="AT_CMD_TYPE_SET" + type="int" + transient="false" + volatile="false" + value="2" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="AT_CMD_TYPE_TEST" + type="int" + transient="false" + volatile="false" + value="1" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="EXTRA_VENDOR_SPECIFIC_HEADSET_EVENT_ARGS" + type="java.lang.String" + transient="false" + volatile="false" + value=""android.bluetooth.headset.extra.VENDOR_SPECIFIC_HEADSET_EVENT_ARGS"" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="EXTRA_VENDOR_SPECIFIC_HEADSET_EVENT_CMD" + type="java.lang.String" + transient="false" + volatile="false" + value=""android.bluetooth.headset.extra.VENDOR_SPECIFIC_HEADSET_EVENT_CMD"" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="EXTRA_VENDOR_SPECIFIC_HEADSET_EVENT_CMD_TYPE" + type="java.lang.String" + transient="false" + volatile="false" + value=""android.bluetooth.headset.extra.VENDOR_SPECIFIC_HEADSET_EVENT_CMD_TYPE"" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> <field name="STATE_AUDIO_CONNECTED" type="int" transient="false" @@ -38099,6 +39274,17 @@ visibility="public" > </field> +<field name="VENDOR_SPECIFIC_HEADSET_EVENT_COMPANY_ID_CATEGORY" + type="java.lang.String" + transient="false" + volatile="false" + value=""android.bluetooth.headset.intent.category.companyid"" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> </class> <interface name="BluetoothProfile" abstract="true" diff --git a/core/java/android/bluetooth/BluetoothAssignedNumbers.java b/core/java/android/bluetooth/BluetoothAssignedNumbers.java index 55bc814066ce..580e9ff56f42 100644 --- a/core/java/android/bluetooth/BluetoothAssignedNumbers.java +++ b/core/java/android/bluetooth/BluetoothAssignedNumbers.java @@ -23,12 +23,10 @@ package android.bluetooth; * @see <a href="https://www.bluetooth.org/technical/assignednumbers/identifiers.htm"> * The Official Bluetooth SIG Member Website | Company Identifiers</a> * - * @hide */ public class BluetoothAssignedNumbers { - //// Bluetooth SIG Company ID values - + // Bluetooth SIG Company ID values /* * Ericsson Technology Licensing. */ diff --git a/core/java/android/bluetooth/BluetoothHeadset.java b/core/java/android/bluetooth/BluetoothHeadset.java index c64fdbe396da..3aea418e4751 100644 --- a/core/java/android/bluetooth/BluetoothHeadset.java +++ b/core/java/android/bluetooth/BluetoothHeadset.java @@ -86,12 +86,35 @@ public final class BluetoothHeadset implements BluetoothProfile { /** - * Broadcast Action: Indicates a headset has posted a vendor-specific event. - * <p>Always contains the extra fields {@link #EXTRA_DEVICE}, - * {@link #EXTRA_VENDOR_SPECIFIC_HEADSET_EVENT_CMD}, and - * {@link #EXTRA_VENDOR_SPECIFIC_HEADSET_EVENT_ARGS}. + * Intent used to broadcast that the headset has posted a + * vendor-specific event. + * + * <p>This intent will have 4 extras and 1 category. + * {@link BluetoothDevice#EXTRA_DEVICE} - The remote Bluetooth Device + * {@link #EXTRA_VENDOR_SPECIFIC_HEADSET_EVENT_CMD} - The vendor specific + * command + * {@link #EXTRA_VENDOR_SPECIFIC_HEADSET_EVENT_CMD_TYPE} - The AT command + * type. + * Can be one of {@link #AT_CMD_TYPE_READ}, {@link #AT_CMD_TYPE_TEST}, + * or {@link #AT_CMD_TYPE_SET}, {@link #AT_CMD_TYPE_BASIC}, + * {@link #AT_CMD_TYPE_ACTION}. + * + * {@link #EXTRA_VENDOR_SPECIFIC_HEADSET_EVENT_ARGS} - Command arguments. + * + * The category is the Company ID of the vendor defining the + * vendor-specific command. {@link BluetoothAssignedNumbers} + * @see <a href="https://www.bluetooth.org/Technical/AssignedNumbers/identifiers.htm"> + * Bluetooth SIG Assigned Numbers - Company Identifiers</a> + * + * For example, for Plantronics specific events + * Category will be {@link #VENDOR_SPECIFIC_HEADSET_EVENT_COMPANY_ID_CATEGORY}.55 + * + * <p> For example, an AT+XEVENT=foo,3 will get translated into + * EXTRA_VENDOR_SPECIFIC_HEADSET_EVENT_CMD = +XEVENT + * EXTRA_VENDOR_SPECIFIC_HEADSET_EVENT_CMD_TYPE = AT_CMD_TYPE_SET + * EXTRA_VENDOR_SPECIFIC_HEADSET_EVENT_ARGS = foo, 3 + * * <p>Requires {@link android.Manifest.permission#BLUETOOTH} to receive. - * @hide */ @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) public static final String ACTION_VENDOR_SPECIFIC_HEADSET_EVENT = @@ -100,31 +123,68 @@ public final class BluetoothHeadset implements BluetoothProfile { /** * A String extra field in {@link #ACTION_VENDOR_SPECIFIC_HEADSET_EVENT} * intents that contains the name of the vendor-specific command. - * @hide */ public static final String EXTRA_VENDOR_SPECIFIC_HEADSET_EVENT_CMD = "android.bluetooth.headset.extra.VENDOR_SPECIFIC_HEADSET_EVENT_CMD"; /** * An int extra field in {@link #ACTION_VENDOR_SPECIFIC_HEADSET_EVENT} - * intents that contains the Company ID of the vendor defining the vendor-specific - * command. - * @see <a href="https://www.bluetooth.org/Technical/AssignedNumbers/identifiers.htm"> - * Bluetooth SIG Assigned Numbers - Company Identifiers</a> - * @hide + * intents that contains the AT command type of the vendor-specific command. + */ + public static final String EXTRA_VENDOR_SPECIFIC_HEADSET_EVENT_CMD_TYPE = + "android.bluetooth.headset.extra.VENDOR_SPECIFIC_HEADSET_EVENT_CMD_TYPE"; + + /** + * AT command type READ used with + * {@link #EXTRA_VENDOR_SPECIFIC_HEADSET_EVENT_CMD_TYPE} + * For example, AT+VGM?. There are no arguments for this command type. */ - public static final String EXTRA_VENDOR_SPECIFIC_HEADSET_EVENT_COMPANY_ID = - "android.bluetooth.headset.extra.VENDOR_SPECIFIC_HEADSET_EVENT_COMPANY_ID"; + public static final int AT_CMD_TYPE_READ = 0; + + /** + * AT command type TEST used with + * {@link #EXTRA_VENDOR_SPECIFIC_HEADSET_EVENT_CMD_TYPE} + * For example, AT+VGM=?. There are no arguments for this command type. + */ + public static final int AT_CMD_TYPE_TEST = 1; + + /** + * AT command type SET used with + * {@link #EXTRA_VENDOR_SPECIFIC_HEADSET_EVENT_CMD_TYPE} + * For example, AT+VGM=<args>. + */ + public static final int AT_CMD_TYPE_SET = 2; + + /** + * AT command type BASIC used with + * {@link #EXTRA_VENDOR_SPECIFIC_HEADSET_EVENT_CMD_TYPE} + * For example, ATD. Single character commands and everything following the + * character are arguments. + */ + public static final int AT_CMD_TYPE_BASIC = 3; + + /** + * AT command type ACTION used with + * {@link #EXTRA_VENDOR_SPECIFIC_HEADSET_EVENT_CMD_TYPE} + * For example, AT+CHUP. There are no arguments for action commands. + */ + public static final int AT_CMD_TYPE_ACTION = 4; /** * A Parcelable String array extra field in * {@link #ACTION_VENDOR_SPECIFIC_HEADSET_EVENT} intents that contains * the arguments to the vendor-specific command. - * @hide */ public static final String EXTRA_VENDOR_SPECIFIC_HEADSET_EVENT_ARGS = "android.bluetooth.headset.extra.VENDOR_SPECIFIC_HEADSET_EVENT_ARGS"; + /** + * The intent category to be used with {@link #ACTION_VENDOR_SPECIFIC_HEADSET_EVENT} + * for the companyId + */ + public static final String VENDOR_SPECIFIC_HEADSET_EVENT_COMPANY_ID_CATEGORY = + "android.bluetooth.headset.intent.category.companyid"; + /* * Headset state when SCO audio is connected * This state can be one of |