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

Commit ebf52490 authored by Whale Chang's avatar Whale Chang Committed by Gerrit Code Review
Browse files

Merge "Floss: Removed unnecessary code related to hold and resume" into main

parents 8142ca03 06f471fb
Loading
Loading
Loading
Loading
+36 −59
Original line number Diff line number Diff line
@@ -1062,6 +1062,10 @@ impl BluetoothMedia {
                self.phone_state_change("".into());
            }
            HfpCallbacks::CallHold(command, addr) => {
                if !self.mps_qualification_enabled {
                    self.simple_at_response(false, addr);
                    return;
                }
                let success = match command {
                    CallHoldCommand::ReleaseHeld => self.release_held_impl(),
                    CallHoldCommand::ReleaseActiveAcceptHeld => {
@@ -1076,7 +1080,6 @@ impl BluetoothMedia {
                if success {
                    // Success means the call state has changed. Inform libbluetooth.
                    self.phone_state_change("".into());
                    self.uhid_send_input_report(&addr);
                } else {
                    warn!(
                        "[{}]: Unexpected or unsupported CHLD command {:?} from HF",
@@ -2019,35 +2022,24 @@ impl BluetoothMedia {
    }

    fn release_held_impl(&mut self) -> bool {
        if !(self.phone_ops_enabled || self.mps_qualification_enabled) {
        if !self.mps_qualification_enabled {
            return false;
        }

        if self.mps_qualification_enabled {
        if self.phone_state.state != CallState::Idle {
            return false;
        }
        self.call_list.retain(|x| x.state != CallState::Held);
        self.phone_state.num_held = 0;
        } else if self.phone_ops_enabled {
            if self.phone_state.state == CallState::Incoming {
                self.call_list.retain(|x| x.state != CallState::Incoming);
                self.phone_state.state = CallState::Idle;
            } else {
                return false;
            }
        }
        true
    }

    fn release_active_accept_held_impl(&mut self) -> bool {
        if !(self.phone_ops_enabled || self.mps_qualification_enabled) {
        if !self.mps_qualification_enabled {
            return false;
        }
        self.call_list.retain(|x| x.state != CallState::Active);
        self.phone_state.num_active = 0;
        // Activate the first held call
        if self.mps_qualification_enabled {
        if self.phone_state.state != CallState::Idle {
            return false;
        }
@@ -2059,25 +2051,13 @@ impl BluetoothMedia {
                break;
            }
        }
        } else if self.phone_ops_enabled {
            for c in self.call_list.iter_mut() {
                if c.state == CallState::Incoming && self.phone_state.state == CallState::Incoming {
                    c.state = CallState::Active;
                    self.phone_state.num_active += 1;
                    self.phone_state.state = CallState::Idle;
                    break;
                }
            }
        }
        true
    }

    fn hold_active_accept_held_impl(&mut self) -> bool {
        if !(self.phone_ops_enabled || self.mps_qualification_enabled) {
        if !self.mps_qualification_enabled {
            return false;
        }

        if self.mps_qualification_enabled {
        if self.phone_state.state != CallState::Idle {
            return false;
        }
@@ -2098,9 +2078,6 @@ impl BluetoothMedia {
                _ => {}
            }
        }
        } else if self.phone_ops_enabled {
            return false;
        }
        true
    }