mirror of
				https://github.com/fankes/termux-app.git
				synced 2025-10-25 13:19:21 +08:00 
			
		
		
		
	Add support for stdin for background RUN_COMMAND intent and TERMUX_SERVICE.ACTION_SERVICE_EXECUTE commands
This commit is contained in:
		| @@ -72,6 +72,7 @@ public class RunCommandService extends Service { | ||||
|  | ||||
|         executionCommand.executable = intent.getStringExtra(RUN_COMMAND_SERVICE.EXTRA_COMMAND_PATH); | ||||
|         executionCommand.arguments = intent.getStringArrayExtra(RUN_COMMAND_SERVICE.EXTRA_ARGUMENTS); | ||||
|         executionCommand.stdin = intent.getStringExtra(RUN_COMMAND_SERVICE.EXTRA_STDIN); | ||||
|         executionCommand.workingDirectory = intent.getStringExtra(RUN_COMMAND_SERVICE.EXTRA_WORKDIR); | ||||
|         executionCommand.inBackground = intent.getBooleanExtra(RUN_COMMAND_SERVICE.EXTRA_BACKGROUND, false); | ||||
|         executionCommand.sessionAction = intent.getStringExtra(RUN_COMMAND_SERVICE.EXTRA_SESSION_ACTION); | ||||
| @@ -153,6 +154,7 @@ public class RunCommandService extends Service { | ||||
|         Intent execIntent = new Intent(TERMUX_SERVICE.ACTION_SERVICE_EXECUTE, executionCommand.executableUri); | ||||
|         execIntent.setClass(this, TermuxService.class); | ||||
|         execIntent.putExtra(TERMUX_SERVICE.EXTRA_ARGUMENTS, executionCommand.arguments); | ||||
|         execIntent.putExtra(TERMUX_SERVICE.EXTRA_STDIN, executionCommand.stdin); | ||||
|         if (executionCommand.workingDirectory != null && !executionCommand.workingDirectory.isEmpty()) execIntent.putExtra(TERMUX_SERVICE.EXTRA_WORKDIR, executionCommand.workingDirectory); | ||||
|         execIntent.putExtra(TERMUX_SERVICE.EXTRA_BACKGROUND, executionCommand.inBackground); | ||||
|         execIntent.putExtra(TERMUX_SERVICE.EXTRA_SESSION_ACTION, executionCommand.sessionAction); | ||||
|   | ||||
| @@ -350,14 +350,16 @@ public final class TermuxService extends Service implements TermuxTask.TermuxTas | ||||
|         ExecutionCommand executionCommand = new ExecutionCommand(getNextExecutionId()); | ||||
|  | ||||
|         executionCommand.executableUri = intent.getData(); | ||||
|         executionCommand.inBackground = intent.getBooleanExtra(TERMUX_SERVICE.EXTRA_BACKGROUND, false); | ||||
|  | ||||
|         if (executionCommand.executableUri != null) { | ||||
|             executionCommand.executable = executionCommand.executableUri.getPath(); | ||||
|             executionCommand.arguments = intent.getStringArrayExtra(TERMUX_SERVICE.EXTRA_ARGUMENTS); | ||||
|             if (executionCommand.inBackground) | ||||
|                 executionCommand.stdin = intent.getStringExtra(TERMUX_SERVICE.EXTRA_STDIN); | ||||
|         } | ||||
|  | ||||
|         executionCommand.workingDirectory = intent.getStringExtra(TERMUX_SERVICE.EXTRA_WORKDIR); | ||||
|         executionCommand.inBackground = intent.getBooleanExtra(TERMUX_SERVICE.EXTRA_BACKGROUND, false); | ||||
|         executionCommand.isFailsafe = intent.getBooleanExtra(TERMUX_ACTIVITY.ACTION_FAILSAFE_SESSION, false); | ||||
|         executionCommand.sessionAction = intent.getStringExtra(TERMUX_SERVICE.EXTRA_SESSION_ACTION); | ||||
|         executionCommand.commandLabel = DataUtils.getDefaultIfNull(intent.getStringExtra(TERMUX_SERVICE.EXTRA_COMMAND_LABEL), "Execution Intent Command"); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user