From c74aebb4db3491c7f598a2080ebf207cab8b3051 Mon Sep 17 00:00:00 2001 From: Jakub Tyszkowski Date: Tue, 3 Aug 2021 12:48:43 +0200 Subject: [PATCH 1/2] Bluetooth: Add GATT_INSUFFICIENT_AUTHORIZATION error code Bug: 150670922 Sponsor: jpawlowski@ Tag: #feature Test: compilation Change-Id: I25bc13c658caba48cc37b0f1f253a77fd1336b29 --- core/api/current.txt | 1 + core/java/android/bluetooth/BluetoothGatt.java | 3 +++ 2 files changed, 4 insertions(+) diff --git a/core/api/current.txt b/core/api/current.txt index fb7d986a3138a..cf77f04dfdfb5 100644 --- a/core/api/current.txt +++ b/core/api/current.txt @@ -8756,6 +8756,7 @@ package android.bluetooth { field public static final int GATT_CONNECTION_CONGESTED = 143; // 0x8f field public static final int GATT_FAILURE = 257; // 0x101 field public static final int GATT_INSUFFICIENT_AUTHENTICATION = 5; // 0x5 + field public static final int GATT_INSUFFICIENT_AUTHORIZATION = 8; // 0x8 field public static final int GATT_INSUFFICIENT_ENCRYPTION = 15; // 0xf field public static final int GATT_INVALID_ATTRIBUTE_LENGTH = 13; // 0xd field public static final int GATT_INVALID_OFFSET = 7; // 0x7 diff --git a/core/java/android/bluetooth/BluetoothGatt.java b/core/java/android/bluetooth/BluetoothGatt.java index 1d08ddb65cf49..6f2aba25eb951 100644 --- a/core/java/android/bluetooth/BluetoothGatt.java +++ b/core/java/android/bluetooth/BluetoothGatt.java @@ -98,6 +98,9 @@ public final class BluetoothGatt implements BluetoothProfile { /** A read or write operation was requested with an invalid offset */ public static final int GATT_INVALID_OFFSET = 0x7; + /** Insufficient authorization for a given operation */ + public static final int GATT_INSUFFICIENT_AUTHORIZATION = 0x8; + /** A write operation exceeds the maximum length of the attribute */ public static final int GATT_INVALID_ATTRIBUTE_LENGTH = 0xd; From 723fe23ce87d942fadeb02887bf932d9e8f4ed4b Mon Sep 17 00:00:00 2001 From: Jakub Tyszkowski Date: Mon, 1 Mar 2021 13:02:25 +0000 Subject: [PATCH 2/2] Bluetooth: Add Media Control Profile Tag: #feature Bug: 150670922 Sponsor: jpawlowski@ Test: compilation Change-Id: Icabed06e6b1973ecee9cd1d6eeec80c6d2a9d72e --- core/api/system-current.txt | 2 ++ core/java/android/bluetooth/BluetoothProfile.java | 9 ++++++++- core/java/android/bluetooth/BluetoothUuid.java | 10 ++++++++++ 3 files changed, 20 insertions(+), 1 deletion(-) diff --git a/core/api/system-current.txt b/core/api/system-current.txt index 675347085f095..8ed356c555d47 100644 --- a/core/api/system-current.txt +++ b/core/api/system-current.txt @@ -1644,6 +1644,7 @@ package android.bluetooth { field @NonNull public static final android.os.ParcelUuid BASE_UUID; field @NonNull public static final android.os.ParcelUuid BNEP; field @NonNull public static final android.os.ParcelUuid DIP; + field @NonNull public static final android.os.ParcelUuid GENERIC_MEDIA_CONTROL; field @NonNull public static final android.os.ParcelUuid HEARING_AID; field @NonNull public static final android.os.ParcelUuid HFP; field @NonNull public static final android.os.ParcelUuid HFP_AG; @@ -1654,6 +1655,7 @@ package android.bluetooth { field @NonNull public static final android.os.ParcelUuid LE_AUDIO; field @NonNull public static final android.os.ParcelUuid MAP; field @NonNull public static final android.os.ParcelUuid MAS; + field @NonNull public static final android.os.ParcelUuid MEDIA_CONTROL; field @NonNull public static final android.os.ParcelUuid MNS; field @NonNull public static final android.os.ParcelUuid NAP; field @NonNull public static final android.os.ParcelUuid OBEX_OBJECT_PUSH; diff --git a/core/java/android/bluetooth/BluetoothProfile.java b/core/java/android/bluetooth/BluetoothProfile.java index b76d6b8691311..bea32abd06cdc 100644 --- a/core/java/android/bluetooth/BluetoothProfile.java +++ b/core/java/android/bluetooth/BluetoothProfile.java @@ -221,13 +221,20 @@ public interface BluetoothProfile { @SystemApi int VOLUME_CONTROL = 23; + /** + * @hide + * Media Control Profile server + * + */ + int MCP_SERVER = 24; + /** * Max profile ID. This value should be updated whenever a new profile is added to match * the largest value assigned to a profile. * * @hide */ - int MAX_PROFILE_ID = 23; + int MAX_PROFILE_ID = 24; /** * Default priority for devices that we try to auto-connect to and diff --git a/core/java/android/bluetooth/BluetoothUuid.java b/core/java/android/bluetooth/BluetoothUuid.java index d82cf19e88223..d07259393b510 100644 --- a/core/java/android/bluetooth/BluetoothUuid.java +++ b/core/java/android/bluetooth/BluetoothUuid.java @@ -172,6 +172,16 @@ public final class BluetoothUuid { /** @hide */ @NonNull @SystemApi + public static final ParcelUuid GENERIC_MEDIA_CONTROL = + ParcelUuid.fromString("00001849-0000-1000-8000-00805F9B34FB"); + /** @hide */ + @NonNull + @SystemApi + public static final ParcelUuid MEDIA_CONTROL = + ParcelUuid.fromString("00001848-0000-1000-8000-00805F9B34FB"); + /** @hide */ + @NonNull + @SystemApi public static final ParcelUuid BASE_UUID = ParcelUuid.fromString("00000000-0000-1000-8000-00805F9B34FB");