Remove unwrap() calls in UciManager.
Bug: 281879716
Test: atest libuwb_core_test libuwb_uci_packet_tests libuwb_uci_jni_rust_tests
(cherry picked from https://android-review.googlesource.com/q/commit:d13603dda23c1ac68a627e402548c83822718437)
Merged-In: Ie70e9720a41cb6f08c44bf4896838d53bd7a28be
Change-Id: Ie70e9720a41cb6f08c44bf4896838d53bd7a28be
diff --git a/src/rust/uwb_core/src/uci/uci_manager.rs b/src/rust/uwb_core/src/uci/uci_manager.rs
index 9d24c24..107f1a4 100644
--- a/src/rust/uwb_core/src/uci/uci_manager.rs
+++ b/src/rust/uwb_core/src/uci/uci_manager.rs
@@ -515,8 +515,7 @@
"send_data_packet(): will Tx a data packet, session_id {}, sequence_number {}",
session_id, uci_sequence_number
);
- let dest_mac_address =
- bytes_to_u64(dest_mac_address_bytes).ok_or(Error::BadParameters).unwrap();
+ let dest_mac_address = bytes_to_u64(dest_mac_address_bytes).ok_or(Error::BadParameters)?;
let data_snd_packet = uwb_uci_packets::UciDataSndBuilder {
session_token: self.get_session_token(&session_id).await?,
dest_mac_address,
@@ -655,7 +654,9 @@
// Timeout waiting for the response of the UCI command.
_ = &mut self.wait_resp_timeout, if self.is_waiting_resp() => {
- self.uci_cmd_retryer.take().unwrap().send_result(Err(Error::Timeout));
+ if let Some(uci_cmd_retryer) = self.uci_cmd_retryer.take() {
+ uci_cmd_retryer.send_result(Err(Error::Timeout));
+ }
}
// Timeout waiting for the notification of the device status.
@@ -826,9 +827,9 @@
}
self.last_raw_cmd = Some(RawUciControlPacket {
mt: u8::from(MessageType::Command),
- gid: gid_u8.unwrap(),
- oid: oid_u8.unwrap(),
- payload: Vec::new(), // There's no need to store the Raw UCI CMD's payload.
+ gid: gid_u8.unwrap(), // Safe as we check gid_u8.is_err() above.
+ oid: oid_u8.unwrap(), // Safe as we check uid_i8.is_err() above.
+ payload: Vec::new(), // There's no need to store the Raw UCI CMD's payload.
});
}