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

Commit 152986f4 authored by Rahul Sabnis's avatar Rahul Sabnis Committed by Gerrit Code Review
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"
parents 5c56cbdd 0d6673fc
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