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

Commit 51e580bb authored by David Duarte's avatar David Duarte
Browse files

Revert "Remove unused le_test_mode from bluetooth interface"

This reverts commit 78edce9b.

Reason for revert: b/269397845

Bug: 269397845
Test: mma
Change-Id: I07b66a087d22d6952caa4d54f08cdff028674e9d
parent 5fd37a23
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -689,6 +689,11 @@ static void dut_mode_recv_callback(uint16_t opcode, uint8_t* buf, uint8_t len) {

}

static void le_test_mode_recv_callback(bt_status_t status,
                                       uint16_t packet_count) {
  ALOGV("%s: status:%d packet_count:%d ", __func__, status, packet_count);
}

static void energy_info_recv_callback(bt_activity_energy_info* p_energy_info,
                                      bt_uid_traffic_t* uid_data) {
  CallbackEnv sCallbackEnv(__func__);
@@ -733,6 +738,7 @@ static bt_callbacks_t sBluetoothCallbacks = {sizeof(sBluetoothCallbacks),
                                             acl_state_changed_callback,
                                             callback_thread_event,
                                             dut_mode_recv_callback,
                                             le_test_mode_recv_callback,
                                             energy_info_recv_callback,
                                             link_quality_report_callback,
                                             generate_local_oob_data_callback,
+6 −0
Original line number Diff line number Diff line
@@ -350,6 +350,12 @@ bool btif_is_dut_mode();
 ******************************************************************************/
void btif_dut_mode_send(uint16_t opcode, uint8_t* buf, uint8_t len);

void btif_ble_transmitter_test(uint8_t tx_freq, uint8_t test_data_len,
                               uint8_t packet_payload);

void btif_ble_receiver_test(uint8_t rx_freq);
void btif_ble_test_end();

/*******************************************************************************
 *
 * Function         btif_dm_read_energy_info
+1 −0
Original line number Diff line number Diff line
@@ -228,6 +228,7 @@ void invoke_acl_state_changed_cb(bt_status_t status, RawAddress bd_addr,
                                 bt_conn_direction_t direction,
                                 uint16_t acl_handle);
void invoke_thread_evt_cb(bt_cb_thread_evt event);
void invoke_le_test_mode_cb(bt_status_t status, uint16_t count);
void invoke_energy_info_cb(bt_activity_energy_info energy_info,
                           bt_uid_traffic_t* uid_data);
void invoke_link_quality_report_cb(
+1 −0
Original line number Diff line number Diff line
@@ -58,6 +58,7 @@ struct EventCallbacks {
                                      bt_conn_direction_t direction,
                                      uint16_t acl_handle);
  void (*invoke_thread_evt_cb)(bt_cb_thread_evt event);
  void (*invoke_le_test_mode_cb)(bt_status_t status, uint16_t count);
  void (*invoke_energy_info_cb)(bt_activity_energy_info energy_info,
                                bt_uid_traffic_t* uid_data);
  void (*invoke_link_quality_report_cb)(uint64_t timestamp, int report_id,
+34 −0
Original line number Diff line number Diff line
@@ -325,6 +325,7 @@ static bluetooth::core::CoreInterface* CreateInterfaceToProfiles() {
      .invoke_le_address_associate_cb = invoke_le_address_associate_cb,
      .invoke_acl_state_changed_cb = invoke_acl_state_changed_cb,
      .invoke_thread_evt_cb = invoke_thread_evt_cb,
      .invoke_le_test_mode_cb = invoke_le_test_mode_cb,
      .invoke_energy_info_cb = invoke_energy_info_cb,
      .invoke_link_quality_report_cb = invoke_link_quality_report_cb};
  static auto configInterface = ConfigInterfaceImpl();
@@ -943,6 +944,29 @@ int dut_mode_send(uint16_t opcode, uint8_t* buf, uint8_t len) {
  return BT_STATUS_SUCCESS;
}

int le_test_mode(uint16_t opcode, uint8_t* buf, uint8_t len) {
  if (!interface_ready()) return BT_STATUS_NOT_READY;

  switch (opcode) {
    case HCI_BLE_TRANSMITTER_TEST:
      if (len != 3) return BT_STATUS_PARM_INVALID;
      do_in_main_thread(FROM_HERE, base::BindOnce(btif_ble_transmitter_test,
                                                  buf[0], buf[1], buf[2]));
      break;
    case HCI_BLE_RECEIVER_TEST:
      if (len != 1) return BT_STATUS_PARM_INVALID;
      do_in_main_thread(FROM_HERE,
                        base::BindOnce(btif_ble_receiver_test, buf[0]));
      break;
    case HCI_BLE_TEST_END:
      do_in_main_thread(FROM_HERE, base::BindOnce(btif_ble_test_end));
      break;
    default:
      return BT_STATUS_UNSUPPORTED;
  }
  return BT_STATUS_SUCCESS;
}

static bt_os_callouts_t* wakelock_os_callouts_saved = nullptr;

static int acquire_wake_lock_cb(const char* lock_name) {
@@ -1136,6 +1160,7 @@ EXPORT_SYMBOL bt_interface_t bluetoothInterface = {
    .get_profile_interface = get_profile_interface,
    .dut_mode_configure = dut_mode_configure,
    .dut_mode_send = dut_mode_send,
    .le_test_mode = le_test_mode,
    .set_os_callouts = set_os_callouts,
    .read_energy_info = read_energy_info,
    .dump = dump,
@@ -1408,6 +1433,15 @@ void invoke_thread_evt_cb(bt_cb_thread_evt event) {
                                  event));
}

void invoke_le_test_mode_cb(bt_status_t status, uint16_t count) {
  do_in_jni_thread(FROM_HERE, base::BindOnce(
                                  [](bt_status_t status, uint16_t count) {
                                    HAL_CBACK(bt_hal_cbacks, le_test_mode_cb,
                                              status, count);
                                  },
                                  status, count));
}

// takes ownership of |uid_data|
void invoke_energy_info_cb(bt_activity_energy_info energy_info,
                           bt_uid_traffic_t* uid_data) {
Loading