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

Commit 2e051dea authored by Jeremy Wu's avatar Jeremy Wu
Browse files

Floss: expose DBus method |GetGroupStatus|

The audio server queries this at appropriate timings to determine if the
group is in a certain state.

Bug: 317682584
Test: m Bluetooth
Change-Id: If1c94144c9b973eb41bbbc3102778912ea447792
parent 46ac3919
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -2843,6 +2843,11 @@ impl IBluetoothMedia for BluetoothMediaDBus {
        dbus_generated!()
    }

    #[dbus_method("GetGroupStatus")]
    fn get_group_status(&mut self, group_id: i32) -> BtLeAudioGroupStatus {
        dbus_generated!()
    }

    #[dbus_method("SetGroupVolume")]
    fn set_group_volume(&mut self, group_id: i32, volume: u8) {
        dbus_generated!()
+5 −0
Original line number Diff line number Diff line
@@ -483,6 +483,11 @@ impl IBluetoothMedia for IBluetoothMediaDBus {
        dbus_generated!()
    }

    #[dbus_method("GetGroupStatus")]
    fn get_group_status(&mut self, group_id: i32) -> BtLeAudioGroupStatus {
        dbus_generated!()
    }

    #[dbus_method("SetGroupVolume")]
    fn set_group_volume(&mut self, group_id: i32, volume: u8) {
        dbus_generated!()
+5 −0
Original line number Diff line number Diff line
@@ -205,6 +205,7 @@ pub trait IBluetoothMedia {
        direction: BtLeAudioDirection,
    ) -> BtLeAudioUnicastMonitorModeStatus;
    fn get_group_stream_status(&mut self, group_id: i32) -> BtLeAudioGroupStreamStatus;
    fn get_group_status(&mut self, group_id: i32) -> BtLeAudioGroupStatus;

    /// Valid volume range is [0, 255], see 2.3.1.1, VCS v1.
    fn set_group_volume(&mut self, group_id: i32, volume: u8);
@@ -4112,6 +4113,10 @@ impl IBluetoothMedia for BluetoothMedia {
            .unwrap_or(&BtLeAudioGroupStreamStatus::Idle)
    }

    fn get_group_status(&mut self, group_id: i32) -> BtLeAudioGroupStatus {
        *self.le_audio_group_status.get(&group_id).unwrap_or(&BtLeAudioGroupStatus::Inactive)
    }

    fn set_group_volume(&mut self, group_id: i32, volume: u8) {
        match self.vc.as_mut() {
            Some(vc) => {