diff options
author | Jack He <siyuanh@google.com> | 2021-12-15 15:40:34 -0800 |
---|---|---|
committer | Jack He <siyuanh@google.com> | 2022-02-02 15:17:34 -0800 |
commit | a014314c9490a18fd4b900302d873206df09a3e0 (patch) | |
tree | b60b0f2f949032b8b4a9c16d28d61357d9ff1f3f /framework/java/android/bluetooth/BluetoothStatusCodes.java | |
parent | b99f7eced58e8e722366ce364a8a2eef4e4449e0 (diff) |
Introduce LE audio broadcast system APIs
* Rename BluetoothLeBroadcastSourceInfo to
BluetoothLeBroadcastReceiveState so that it matches the name in the
Bluetooth specification
* Added callbacks to BluetoothLeBroadcast so that caller that wait
for asynchronouze operations with reason code in the hope to reduce
potential race conditions
* Allow multiple broadcast to be set up on the same deivce if the device
supports it
* Added ScanFilter to searchForSources() method and removed
selectSources() method for BluetoothLeBroadcastAssistant so that the
Bluetooth stack can automatically handle periodic sync after a
Broadcast source is found and only do this for a limited number of
devices
* Added structural APIs to store Broadcast Source and Group information
* Added unknown address type in BluetoothDevice
Bug: 208222281
Test: make
Tag: #feature
Ignore-AOSP-First: Merge conflict in master
Change-Id: If4c3af658b5bc1283d76e5d1899485a487ab7626
Merged-In: If4c3af658b5bc1283d76e5d1899485a487ab7626
(cherry picked from commit 4f9d902028fbe271167547884c33fb9ec7601080)
Diffstat (limited to 'framework/java/android/bluetooth/BluetoothStatusCodes.java')
-rw-r--r-- | framework/java/android/bluetooth/BluetoothStatusCodes.java | 155 |
1 files changed, 119 insertions, 36 deletions
diff --git a/framework/java/android/bluetooth/BluetoothStatusCodes.java b/framework/java/android/bluetooth/BluetoothStatusCodes.java index 0425220c8d..5f90d7ed48 100644 --- a/framework/java/android/bluetooth/BluetoothStatusCodes.java +++ b/framework/java/android/bluetooth/BluetoothStatusCodes.java @@ -104,6 +104,94 @@ public final class BluetoothStatusCodes { public static final int ERROR_TIMEOUT = 15; /** + * Indicates that some local application caused the event. + * @hide + */ + @SystemApi + public static final int REASON_LOCAL_APP_REQUEST = 16; + + /** + * Indicate that this change was initiated by the Bluetooth implementation on this device + * @hide + */ + @SystemApi + public static final int REASON_LOCAL_STACK_REQUEST = 17; + + /** + * Indicate that this change was initiated by the remote device. + * @hide + */ + @SystemApi + public static final int REASON_REMOTE_REQUEST = 18; + + /** + * Indicates that the local system policy caused the change, such as privacy policy, power + * management policy, permission changes, and more. + * @hide + */ + @SystemApi + public static final int REASON_SYSTEM_POLICY = 19; + + /** + * Indicates that an underlying hardware incurred some error maybe try again later or toggle + * the hardware state. + * @hide + */ + @SystemApi + public static final int ERROR_HARDWARE_GENERIC = 20; + + /** + * Indicates that the operation failed due to bad API input parameter that is not covered + * by other more detailed error code + * @hide + */ + @SystemApi + public static final int ERROR_BAD_PARAMETERS = 21; + + /** + * Indicate that there is not enough local resource to perform the requested operation + * @hide + */ + @SystemApi + public static final int ERROR_LOCAL_NOT_ENOUGH_RESOURCES = 22; + + /** + * Indicate that a remote device does not have enough resource to perform the requested + * operation + * @hide + */ + @SystemApi + public static final int ERROR_REMOTE_NOT_ENOUGH_RESOURCES = 23; + + /** + * Indicates that the remote rejected this operation for reasons not covered above + * @hide + */ + @SystemApi + public static final int ERROR_REMOTE_OPERATION_REJECTED = 24; + + /** + * Indicates that there is an underlying link error between the local and remote devices. + * + * Maybe try again later or disconnect and retry. + * @hide + */ + @SystemApi + public static final int ERROR_REMOTE_LINK_ERROR = 25; + + /** + * A generic error code to indicate that the system is already in a target state that an API + * tries to request. + * + * For example, this error code will be delivered if someone tries to stop scanning when + * scan has already stopped, or start scanning when scan has already started. + * + * @hide + */ + @SystemApi + public static final int ERROR_ALREADY_IN_TARGET_STATE = 26; + + /** * A GATT writeCharacteristic request is not permitted on the remote device. */ public static final int ERROR_GATT_WRITE_NOT_ALLOWED = 101; @@ -249,65 +337,60 @@ public final class BluetoothStatusCodes { */ public static final int ERROR_DISCONNECT_REASON_BAD_PARAMETERS = 1109; + // LE audio related return codes reserved from 1200 to 1300 + /** - * Indicates that setting the LE Audio Broadcast mode failed. - * <p> - * Example solution: Change parameters and try again. If error persists, the app can report - * telemetry and/or log the error in a bugreport. - * + * Indicates that the broadcast ID cannot be found among existing Broadcast Sources. * @hide */ - public static final int ERROR_LE_AUDIO_BROADCAST_SOURCE_SET_BROADCAST_MODE_FAILED = 1110; + @SystemApi + public static final int ERROR_LE_BROADCAST_INVALID_BROADCAST_ID = 1200; /** - * Indicates that setting a new encryption key for Bluetooth LE Audio Broadcast Source failed. - * <p> - * Example solution: Change parameters and try again. If error persists, the app can report - * telemetry and/or log the error in a bugreport. - * + * Indicates that encryption code entered does not meet the specification requirement * @hide */ - public static final int ERROR_LE_AUDIO_BROADCAST_SOURCE_SET_ENCRYPTION_KEY_FAILED = 1111; + @SystemApi + public static final int ERROR_LE_BROADCAST_INVALID_CODE = 1201; /** - * Indicates that connecting to a remote Broadcast Audio Scan Service failed. - * <p> - * Example solution: Change parameters and try again. If error persists, the app can report - * telemetry and/or log the error in a bugreport. - * + * Indicates that the source ID cannot be found in the given Broadcast sink device * @hide */ - public static final int ERROR_LE_AUDIO_BROADCAST_AUDIO_SCAN_SERVICE_CONNECT_FAILED = 1112; + @SystemApi + public static final int ERROR_LE_BROADCAST_ASSISTANT_INVALID_SOURCE_ID = 1202; /** - * Indicates that disconnecting from a remote Broadcast Audio Scan Service failed. - * <p> - * Example solution: Change parameters and try again. If error persists, the app can report - * telemetry and/or log the error in a bugreport. + * Indicates that the same Broadcast Source is already added to the Broadcast Sink * + * Broadcast Source is identified by their advertising SID and broadcast ID * @hide */ - public static final int ERROR_LE_AUDIO_BROADCAST_AUDIO_SCAN_SERVICE_DISCONNECT_FAILED = 1113; + @SystemApi + public static final int ERROR_LE_BROADCAST_ASSISTANT_DUPLICATE_ADDITION = 1203; + /** - * Indicates that enabling LE Audio Broadcast encryption failed - * <p> - * Example solution: Change parameters and try again. If error persists, the app can report - * telemetry and/or log the error in a bugreport. - * + * Indicates that the program info in a {@link BluetoothLeAudioContentMetadata} is not valid * @hide */ - public static final int ERROR_LE_AUDIO_BROADCAST_SOURCE_ENABLE_ENCRYPTION_FAILED = 1114; + @SystemApi + public static final int ERROR_LE_CONTENT_METADATA_INVALID_PROGRAM_INFO = 1204; /** - * Indicates that disabling LE Audio Broadcast encryption failed - * <p> - * Example solution: Change parameters and try again. If error persists, the app can report - * telemetry and/or log the error in a bugreport. - * + * Indicates that the language code in a {@link BluetoothLeAudioContentMetadata} is not valid * @hide */ - public static final int ERROR_LE_AUDIO_BROADCAST_SOURCE_DISABLE_ENCRYPTION_FAILED = 1115; + @SystemApi + public static final int ERROR_LE_CONTENT_METADATA_INVALID_LANGUAGE = 1205; + + /** + * Indicates that operation failed due to other {@link BluetoothLeAudioContentMetadata} related + * issues not covered by other reason codes. + * @hide + */ + @SystemApi + public static final int ERROR_LE_CONTENT_METADATA_INVALID_OTHER = 1206; /** * Indicates that the RFCOMM listener could not be started due to the requested UUID already @@ -361,7 +444,7 @@ public final class BluetoothStatusCodes { public static final int RFCOMM_LISTENER_NO_SOCKET_AVAILABLE = 2005; /** - * Indicates that an unknown error has occurred has occurred. + * Indicates that an unknown error has occurred. */ public static final int ERROR_UNKNOWN = Integer.MAX_VALUE; } |