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

Commit 88cdd2ce authored by Sal Savage's avatar Sal Savage Committed by Automerger Merge Worker
Browse files

Allow Java-land to request current track metadata through JNI am: a1fc0d3a

Change-Id: I25b6def0d29f8c53c3c9870cf40d539f4581c6a6
parents 607212f2 a1fc0d3a
Loading
Loading
Loading
Loading
+23 −0
Original line number Diff line number Diff line
@@ -4635,6 +4635,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
@@ -5313,6 +5335,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);