code: protected final void publishProgress(Progress... values) {
          if (!isCancelled()) {
              sHandler.obtainMessage(MESSAGE_POST_PROGRESS,
                      new AsyncTaskResult<Progress>(this, values)).sendToTarget();
          }
      }
docs: This method can be invoked from {@link #doInBackground} to
  publish updates on the UI thread while the background computation is
  still running. Each call to this method will trigger the execution of
  {@link #onProgressUpdate} on the UI thread.
  
  {@link #onProgressUpdate} will note be called if the task has been
  canceled.
  
  @param values The progress values to update the UI with.
  
  @see #onProgressUpdate
  @see #doInBackground