public void waitFor() { if (mStdoutTask != null) { mStdoutTask.waitForStop(); mStdoutTask = null; } if (mStderrTask != null) { mStderrTask.waitForStop(); mStderrTask = null; } if (mStdinTask != null) { mStdinTask.waitForStop(); mStdinTask = null; } }
public void cancel() { if (mStdoutTask != null) { mStdoutTask.stop(); mStdoutTask = null; } if (mStderrTask != null) { mStderrTask.stop(); mStderrTask = null; } if (mStdinTask != null) { mStdinTask.stop(); mStdinTask = null; } }
public void execute(boolean handleOutputs) { if (mProcess == null) { return; } final InputStream stdout = mProcess.getInputStream(); final InputStream stderr = mProcess.getErrorStream(); final OutputStream stdin = mProcess.getOutputStream(); if (handleOutputs) { if (stdout != null) { mStdoutTask = new ExecOutputASyncTask("stdout", stdout); if (mStdoutTask != null) { mStdoutTask.start(); } } if (stderr != null) { mStderrTask = new ExecOutputASyncTask("stderr", stderr); if (mStderrTask != null) { mStderrTask.setIgnoreEmptyLines(true); mStderrTask.start(); } } } else { mOutputStream = stdout; mErrStream = stderr; } if (stdin != null) { mStdinTask = new ExecInputASyncTask("stdin", stdin, mCommands); if (mStdinTask != null) { mStdinTask.start(); } } }