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

Commit eb8a5ab6 authored by Treehugger Robot's avatar Treehugger Robot Committed by Gerrit Code Review
Browse files

Merge "Allow Java-land to request current track metadata through JNI"

parents 56a38b3c 105d100b
Loading
Loading
Loading
Loading
+23 −0
Original line number Diff line number Diff line
@@ -4628,6 +4628,28 @@ static bt_status_t get_player_app_setting_cmd(uint8_t num_attrib,
  return build_and_send_vendor_cmd(&avrc_cmd, AVRC_CMD_STATUS, p_dev);
}

/***************************************************************************
 *
 * Function         get_current_metadata_cmd
 *
 * Description      Fetch the current track metadata for the device
 *
 * Returns          BT_STATUS_SUCCESS if command issued successfully otherwise
 *                  BT_STATUS_FAIL.
 *
 **************************************************************************/
static bt_status_t get_current_metadata_cmd(const RawAddress& bd_addr) {
  BTIF_TRACE_DEBUG("%s", __func__);
  btif_rc_device_cb_t* p_dev = btif_rc_get_device_by_bda(bd_addr);
  if (p_dev == NULL) {
    BTIF_TRACE_ERROR("%s: p_dev NULL", __func__);
    return BT_STATUS_FAIL;
  }
  const uint32_t* attr_list = get_requested_attributes_list(p_dev);
  const uint8_t attr_list_size = get_requested_attributes_list_size(p_dev);
  return get_metadata_attribute_cmd(attr_list_size, attr_list, p_dev);
}

/***************************************************************************
 *
 * Function         get_playback_state_cmd
@@ -5306,6 +5328,7 @@ static const btrc_ctrl_interface_t bt_rc_ctrl_interface = {
    send_groupnavigation_cmd,
    change_player_app_setting,
    play_item_cmd,
    get_current_metadata_cmd,
    get_playback_state_cmd,
    get_now_playing_list_cmd,
    get_folder_list_cmd,
+3 −0
Original line number Diff line number Diff line
@@ -681,6 +681,9 @@ typedef struct {
  bt_status_t (*play_item_cmd)(const RawAddress& bd_addr, uint8_t scope,
                               uint8_t* uid, uint16_t uid_counter);

  /** get the current track's media metadata */
  bt_status_t (*get_current_metadata_cmd)(const RawAddress& bd_addr);

  /** get the playback state */
  bt_status_t (*get_playback_state_cmd)(const RawAddress& bd_addr);