Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c52d85bb authored by Kihong Seong's avatar Kihong Seong Committed by Automerger Merge Worker
Browse files

Merge "Throw exception when writing characteristic larger than max attribute...

Merge "Throw exception when writing characteristic larger than max attribute value" into main am: 101f80b9 am: f3074abf

Original change: https://android-review.googlesource.com/c/platform/packages/modules/Bluetooth/+/2727498



Change-Id: If69c0008415600c0a0e254753d16e0dfd567d51b
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents b3724c81 f3074abf
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -94,6 +94,8 @@ public final class BluetoothGatt implements BluetoothProfile {

    private static final int WRITE_CHARACTERISTIC_MAX_RETRIES = 5;
    private static final int WRITE_CHARACTERISTIC_TIME_TO_WAIT = 10; // milliseconds
    // Max length of an attribute value, defined in gatt_api.h
    private static final int GATT_MAX_ATTR_LEN = 512;

    private List<BluetoothGattService> mServices;

@@ -1438,6 +1440,10 @@ public final class BluetoothGatt implements BluetoothProfile {
        if (value == null) {
            throw new IllegalArgumentException("value must not be null");
        }
        if (value.length > GATT_MAX_ATTR_LEN) {
            throw new IllegalArgumentException(
                    "notification should not be longer than max length of an attribute value");
        }
        if (VDBG) Log.d(TAG, "writeCharacteristic() - uuid: " + characteristic.getUuid());
        if ((characteristic.getProperties() & BluetoothGattCharacteristic.PROPERTY_WRITE) == 0
                && (characteristic.getProperties()