This commit is contained in:
LIAUD Corentin
2025-04-30 15:23:13 +02:00
committed by cocool97
parent 864bde01f6
commit af51584736
2 changed files with 6 additions and 12 deletions

View File

@@ -1,7 +1,5 @@
use std::{fs::File, path::Path};
use rand::Rng;
use crate::{
ADBMessageTransport, Result,
device::{MessageWriter, adb_message_device::ADBMessageDevice},
@@ -16,15 +14,11 @@ impl<T: ADBMessageTransport> ADBMessageDevice<T> {
let file_size = apk_file.metadata()?.len();
let mut rng = rand::rng();
let local_id = rng.random();
self.open_session(format!("exec:cmd package 'install' -S {}\0", file_size).as_bytes())?;
let transport = self.get_transport().clone();
let mut writer = MessageWriter::new(transport, local_id, self.get_remote_id()?);
let mut writer = MessageWriter::new(transport, self.get_local_id()?, self.get_remote_id()?);
std::io::copy(&mut apk_file, &mut writer)?;

View File

@@ -189,12 +189,10 @@ impl ADBTransport for USBTransport {
fn disconnect(&mut self) -> crate::Result<()> {
let message = ADBTransportMessage::new(MessageCommand::Clse, 0, 0, &[]);
self.write_message(message)
}
}
if let Err(e) = self.write_message(message) {
log::error!("error while sending CLSE message: {e}");
}
impl Drop for USBTransport {
fn drop(&mut self) {
if let Some(handle) = &self.handle {
let endpoint = self.read_endpoint.as_ref().or(self.write_endpoint.as_ref());
if let Some(endpoint) = &endpoint {
@@ -204,6 +202,8 @@ impl Drop for USBTransport {
}
}
}
Ok(())
}
}