feat: add Android USB serial port support via USB Host API
- Add USB Host permissions and device filter to AndroidManifest.xml - Create UsbSerialPlugin Kotlin plugin for USB Host API (enumerate, permission, open devices) - Add serial_connect_fd command for Android to accept USB file descriptors - Create RawFdStream wrapper for async I/O on raw file descriptors - Make run_serial_with_poll generic over AsyncRead+AsyncWrite - Register UsbSerialPlugin in MainActivity
This commit is contained in:
@@ -135,7 +135,7 @@ pub fn run() {
|
||||
Ok(())
|
||||
});
|
||||
|
||||
#[cfg(feature = "devkit")]
|
||||
#[cfg(all(feature = "devkit", not(target_os = "android")))]
|
||||
let builder = builder.invoke_handler(tauri::generate_handler![
|
||||
commands::file_explorer::file_explorer_list,
|
||||
commands::serial::serial_enum,
|
||||
@@ -157,7 +157,7 @@ pub fn run() {
|
||||
commands::devkit::devkit_process_export
|
||||
]);
|
||||
|
||||
#[cfg(not(feature = "devkit"))]
|
||||
#[cfg(all(not(feature = "devkit"), not(target_os = "android")))]
|
||||
let builder = builder.invoke_handler(tauri::generate_handler![
|
||||
commands::file_explorer::file_explorer_list,
|
||||
commands::serial::serial_enum,
|
||||
@@ -173,6 +173,46 @@ pub fn run() {
|
||||
commands::window::win_close
|
||||
]);
|
||||
|
||||
#[cfg(all(feature = "devkit", target_os = "android"))]
|
||||
let builder = builder.invoke_handler(tauri::generate_handler![
|
||||
commands::file_explorer::file_explorer_list,
|
||||
commands::serial::serial_enum,
|
||||
commands::serial::serial_connect,
|
||||
commands::serial::serial_connect_fd,
|
||||
commands::serial::serial_disconnect,
|
||||
commands::serial::serial_export_csv,
|
||||
commands::serial::serial_has_record_data,
|
||||
commands::serial::serial_export_csv_to_path,
|
||||
commands::serial::serial_import_csv,
|
||||
commands::serial::serial_import_csv_from_path,
|
||||
commands::window::win_minimize,
|
||||
commands::window::win_toggle_maximize,
|
||||
commands::window::win_close,
|
||||
commands::devkit::devkit_status,
|
||||
commands::devkit::devkit_start,
|
||||
commands::devkit::devkit_stop,
|
||||
commands::devkit::devkit_get_config,
|
||||
commands::devkit::devkit_set_config,
|
||||
commands::devkit::devkit_process_export
|
||||
]);
|
||||
|
||||
#[cfg(all(not(feature = "devkit"), target_os = "android"))]
|
||||
let builder = builder.invoke_handler(tauri::generate_handler![
|
||||
commands::file_explorer::file_explorer_list,
|
||||
commands::serial::serial_enum,
|
||||
commands::serial::serial_connect,
|
||||
commands::serial::serial_connect_fd,
|
||||
commands::serial::serial_disconnect,
|
||||
commands::serial::serial_export_csv,
|
||||
commands::serial::serial_has_record_data,
|
||||
commands::serial::serial_export_csv_to_path,
|
||||
commands::serial::serial_import_csv,
|
||||
commands::serial::serial_import_csv_from_path,
|
||||
commands::window::win_minimize,
|
||||
commands::window::win_toggle_maximize,
|
||||
commands::window::win_close
|
||||
]);
|
||||
|
||||
builder
|
||||
.run(tauri::generate_context!())
|
||||
.expect("error while running tauri application");
|
||||
|
||||
Reference in New Issue
Block a user