@@ -26,8 +26,7 @@ pub(crate) enum AdbServerCommand {
26
26
Install ( u64 ) ,
27
27
WaitForDevice ( WaitForDeviceState , WaitForDeviceTransport ) ,
28
28
// Local commands
29
- ShellCommand ( String ) ,
30
- Shellv2Command ( String ) ,
29
+ ShellCommand ( Vec < String > , String ) ,
31
30
Shell ,
32
31
FrameBuffer ,
33
32
Sync ,
@@ -52,14 +51,14 @@ impl Display for AdbServerCommand {
52
51
AdbServerCommand :: TrackDevices => write ! ( f, "host:track-devices" ) ,
53
52
AdbServerCommand :: TransportAny => write ! ( f, "host:transport-any" ) ,
54
53
AdbServerCommand :: TransportSerial ( serial) => write ! ( f, "host:transport:{serial}" ) ,
55
- AdbServerCommand :: ShellCommand ( command) => match std :: env :: var ( "TERM" ) {
56
- Ok ( term ) => write ! ( f , "shell,TERM={term},raw:{command}" ) ,
57
- Err ( _ ) => write ! ( f , "shell,raw:{command}" ) ,
58
- } ,
59
- AdbServerCommand :: Shellv2Command ( command ) => match std :: env :: var ( "TERM" ) {
60
- Ok ( term ) => write ! ( f , "shell,v2,TERM={term},raw:{command}" ) ,
61
- Err ( _ ) => write ! ( f , "shell,raw:{command}" ) ,
62
- } ,
54
+ AdbServerCommand :: ShellCommand ( args , command) => {
55
+ let args_s = args . join ( "," ) ;
56
+ write ! (
57
+ f ,
58
+ "shell{}{args_s},raw:{command}" ,
59
+ if args . is_empty ( ) { "" } else { "," }
60
+ )
61
+ }
63
62
AdbServerCommand :: Shell => match std:: env:: var ( "TERM" ) {
64
63
Ok ( term) => write ! ( f, "shell,TERM={term},raw:" ) ,
65
64
Err ( _) => write ! ( f, "shell,raw:" ) ,
0 commit comments