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

Commit b666d715 authored by Rahul Sabnis's avatar Rahul Sabnis Committed by Automerger Merge Worker
Browse files

Merge "Pass the written value for gatt characteristic and descriptor write...

Merge "Pass the written value for gatt characteristic and descriptor write callbacks to the java layer" am: 152986f4 am: ef0a745f

Original change: https://android-review.googlesource.com/c/platform/system/bt/+/1858600

Change-Id: I9248071b742a0635f9e64327a1973596c541c94f
parents ad756ce3 ef0a745f
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -124,7 +124,7 @@ interface IBluetoothGatt {
    @JavaPassthrough(annotation="@android.annotation.RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT)")
    void readDescriptor(in int clientIf, in String address, in int handle, in int authReq, in AttributionSource attributionSource);
    @JavaPassthrough(annotation="@android.annotation.RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT)")
    void writeDescriptor(in int clientIf, in String address, in int handle,
    int writeDescriptor(in int clientIf, in String address, in int handle,
                            in int authReq, in byte[] value, in AttributionSource attributionSource);
    @JavaPassthrough(annotation="@android.annotation.RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT)")
    void registerForNotification(in int clientIf, in String address, in int handle, in boolean enable, in AttributionSource attributionSource);
+2 −2
Original line number Diff line number Diff line
@@ -30,10 +30,10 @@ oneway interface IBluetoothGattCallback {
    void onPhyRead(in String address, in int txPhy, in int rxPhy, in int status);
    void onSearchComplete(in String address, in List<BluetoothGattService> services, in int status);
    void onCharacteristicRead(in String address, in int status, in int handle, in byte[] value);
    void onCharacteristicWrite(in String address, in int status, in int handle);
    void onCharacteristicWrite(in String address, in int status, in int handle, in byte[] value);
    void onExecuteWrite(in String address, in int status);
    void onDescriptorRead(in String address, in int status, in int handle, in byte[] value);
    void onDescriptorWrite(in String address, in int status, in int handle);
    void onDescriptorWrite(in String address, in int status, in int handle, in byte[] value);
    void onNotify(in String address, in int handle, in byte[] value);
    void onReadRemoteRssi(in String address, in int rssi, in int status);
    void onConfigureMTU(in String address, in int mtu, in int status);
+3 −2
Original line number Diff line number Diff line
@@ -387,7 +387,8 @@ class CsisClientImpl : public CsisClient {
    BtaGattQueue::WriteCharacteristic(
        device->conn_id, csis_instance->svc_data.lock_handle.val_hdl, value,
        GATT_WRITE,
        [](uint16_t conn_id, tGATT_STATUS status, uint16_t handle, void* data) {
        [](uint16_t conn_id, tGATT_STATUS status, uint16_t handle, uint16_t len,
           const uint8_t* value, void* data) {
          if (instance)
            instance->OnGattCsisWriteLockRsp(conn_id, status, handle, data);
        },
@@ -1809,7 +1810,7 @@ class CsisClientImpl : public CsisClient {
    BtaGattQueue::WriteDescriptor(
        conn_id, ccc_handle, std::move(value), GATT_WRITE,
        [](uint16_t conn_id, tGATT_STATUS status, uint16_t value_handle,
           void* user_data) {
           uint16_t len, const uint8_t* value, void* user_data) {
          if (instance)
            instance->OnGattWriteCcc(conn_id, status, value_handle, user_data);
        },
+12 −4
Original line number Diff line number Diff line
@@ -386,7 +386,9 @@ class CsisClientTest : public ::testing::Test {
            Invoke([](uint16_t conn_id, uint16_t handle,
                      std::vector<uint8_t> value, tGATT_WRITE_TYPE write_type,
                      GATT_WRITE_OP_CB cb, void* cb_data) -> void {
              if (cb) cb(conn_id, GATT_SUCCESS, handle, cb_data);
              if (cb)
                cb(conn_id, GATT_SUCCESS, handle, value.size(), value.data(),
                   cb_data);
            }));
  }

@@ -935,7 +937,9 @@ TEST_F(CsisMultiClientTest, test_lock_multiple_instances) {
          Invoke([](uint16_t conn_id, uint16_t handle,
                    std::vector<uint8_t> value, tGATT_WRITE_TYPE write_type,
                    GATT_WRITE_OP_CB cb, void* cb_data) -> void {
            if (cb) cb(conn_id, GATT_SUCCESS, handle, cb_data);
            if (cb)
              cb(conn_id, GATT_SUCCESS, handle, value.size(), value.data(),
                 cb_data);
          }));
  CsisClient::Get()->LockGroup(
      1, true,
@@ -964,7 +968,9 @@ TEST_F(CsisMultiClientTest, test_unlock_multiple_instances) {
          Invoke([](uint16_t conn_id, uint16_t handle,
                    std::vector<uint8_t> value, tGATT_WRITE_TYPE write_type,
                    GATT_WRITE_OP_CB cb, void* cb_data) -> void {
            if (cb) cb(conn_id, GATT_SUCCESS, handle, cb_data);
            if (cb)
              cb(conn_id, GATT_SUCCESS, handle, value.size(), value.data(),
                 cb_data);
          }));
  CsisClient::Get()->LockGroup(
      1, true,
@@ -1001,7 +1007,9 @@ TEST_F(CsisMultiClientTest, test_disconnect_locked_multiple_instances) {
          Invoke([](uint16_t conn_id, uint16_t handle,
                    std::vector<uint8_t> value, tGATT_WRITE_TYPE write_type,
                    GATT_WRITE_OP_CB cb, void* cb_data) -> void {
            if (cb) cb(conn_id, GATT_SUCCESS, handle, cb_data);
            if (cb)
              cb(conn_id, GATT_SUCCESS, handle, value.size(), value.data(),
                 cb_data);
          }));
  CsisClient::Get()->LockGroup(
      1, true,
+1 −0
Original line number Diff line number Diff line
@@ -932,6 +932,7 @@ static void bta_gattc_write_cmpl(tBTA_GATTC_CLCB* p_clcb,

  if (cb) {
    cb(p_clcb->bta_conn_id, p_data->status, p_data->p_cmpl->att_value.handle,
       p_data->p_cmpl->att_value.len, p_data->p_cmpl->att_value.value,
       my_cb_data);
  }
}
Loading