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

Commit 117ef039 authored by Jeremy Klein's avatar Jeremy Klein Committed by android-build-merger
Browse files

Ensure that services are cleaned from the GattServer HandleMap.

am: 46e352b6

Change-Id: Ic509b64189fccf8c48afaf947d625a8998b389af
parents 2bdebe9e 46e352b6
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -305,7 +305,7 @@ void bta_gatts_delete_service(tBTA_GATTS_SRVC_CB* p_srvc_cb,
  tBTA_GATTS cb_data;

  cb_data.srvc_oper.server_if = p_rcb->gatt_if;
  // cb_data.srvc_oper.service_id = p_msg->api_add_incl_srvc.hdr.layer_specific;
  cb_data.srvc_oper.service_id = p_srvc_cb->service_id;

  if (GATTS_DeleteService(p_rcb->gatt_if, &p_srvc_cb->service_uuid,
                          p_srvc_cb->service_id)) {
+8 −0
Original line number Diff line number Diff line
@@ -98,16 +98,24 @@ TEST_F(GattTest, GattServerBuild) {
  gatt_server_interface()->add_service(server_if, service);
  semaphore_wait(service_added_callback_sem_);
  EXPECT_TRUE(status() == BT_STATUS_SUCCESS) << "Error adding service.";
  EXPECT_TRUE(server_interface_id() == server_if) << "Wrong server_if added.";
  int service_handle_added = service_handle();

  // Stops server.
  gatt_server_interface()->stop_service(server_if, service_handle());
  semaphore_wait(service_stopped_callback_sem_);
  EXPECT_TRUE(status() == BT_STATUS_SUCCESS) << "Error stopping server.";
  EXPECT_TRUE(service_handle() == service_handle_added)
      << "Wrong service handle stopped.";
  EXPECT_TRUE(server_interface_id() == server_if) << "Wrong server_if stopped.";

  // Deletes service.
  gatt_server_interface()->delete_service(server_if, service_handle());
  semaphore_wait(service_deleted_callback_sem_);
  EXPECT_TRUE(status() == BT_STATUS_SUCCESS) << "Error deleting service.";
  EXPECT_TRUE(service_handle() == service_handle_added)
      << "Wrong service handle deleted.";
  EXPECT_TRUE(server_interface_id() == server_if) << "Wrong server_if deleted.";

  // Unregisters gatt server. No callback is expected.
  gatt_server_interface()->unregister_server(server_if);