Пример #1
0
  public void waitFor() {
    if (mStdoutTask != null) {
      mStdoutTask.waitForStop();
      mStdoutTask = null;
    }

    if (mStderrTask != null) {
      mStderrTask.waitForStop();
      mStderrTask = null;
    }
    if (mStdinTask != null) {
      mStdinTask.waitForStop();
      mStdinTask = null;
    }
  }
Пример #2
0
  public void cancel() {
    if (mStdoutTask != null) {
      mStdoutTask.stop();
      mStdoutTask = null;
    }

    if (mStderrTask != null) {
      mStderrTask.stop();
      mStderrTask = null;
    }

    if (mStdinTask != null) {
      mStdinTask.stop();
      mStdinTask = null;
    }
  }
Пример #3
0
  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();
      }
    }
  }