[Updt] Mtp 0.3.0

This commit is contained in:
Alex 2026-08-20 17:05:37 +02:00
commit 4ffe8a434f
Signed by: alex
SSH key fingerprint: SHA256:D1+Ub8o0v4K5y1JNivW8IxEOelqLSvPmUzBbDIoZkRQ
33 changed files with 1480 additions and 1531 deletions

View file

@ -10,7 +10,6 @@ use std::{
use ansi_term::Color;
use mtp::codec::{CommunicationValue, DataTypeId, DataValue, Version};
use crate::transport::connection::MtpValueCompat;
use crate::util::file_util::get_directory;
static LOGGER: OnceLock<mpsc::Sender<LogMessage>> = OnceLock::new();
@ -223,7 +222,7 @@ pub fn log_cv_internal(
let formatted = format_cv(cv);
log_internal(
Some(cv.get_sender() as i64),
cv.sender().and_then(|sender| i64::try_from(sender).ok()),
print_type.unwrap_or(PrintType::General),
prefix,
false,
@ -234,14 +233,14 @@ pub fn log_cv_internal(
pub fn format_cv(cv: &CommunicationValue) -> String {
let mut parts = Vec::new();
let sender = cv.get_sender();
let receiver = cv.get_receiver();
let sender = cv.sender().filter(|sender| *sender != 0);
let receiver = cv.receiver().filter(|receiver| *receiver != 0);
if sender > 0 && receiver > 0 {
if let (Some(sender), Some(receiver)) = (sender, receiver) {
parts.push(format!("{} > {}", sender, receiver));
} else if sender > 0 {
} else if let Some(sender) = sender {
parts.push(format!("{}", sender));
} else if receiver > 0 {
} else if let Some(receiver) = receiver {
parts.push(format!("> {}", receiver));
}
@ -249,7 +248,11 @@ pub fn format_cv(cv: &CommunicationValue) -> String {
.get_comm_type_enum()
.map(|kind| kind.to_string())
.unwrap_or_else(|| cv.get_type().to_string());
parts.push(format!("{} (id={})", comm_type, cv.get_id()));
let id = cv
.id()
.map(|id| id.to_string())
.unwrap_or_else(|| "missing".to_string());
parts.push(format!("{} (id={})", comm_type, id));
let data = cv.data().unwrap_or(&[]);
@ -258,7 +261,7 @@ pub fn format_cv(cv: &CommunicationValue) -> String {
Version(3, 0),
);
parts.push(format!("{}", formated_data));
parts.push(formated_data.to_string());
parts.join(": ")
}