@AnyThread
  public final void jobFinished(@NonNull JobParameters job, boolean needsReschedule) {
    if (job == null) {
      Log.e(TAG, "jobFinished called with a null JobParameters");
      return;
    }

    this.backgroundExecutor.execute(
        UnitOfWork.removeAndFinishJobWithResult(
            this, job, /* result= */ needsReschedule ? RESULT_FAIL_RETRY : RESULT_SUCCESS));
  }
Callback to inform the scheduling driver that you've finished executing. Can be called from any
thread. When the system receives this message, it will release the wakelock being held.

@param job
@param needsReschedule whether the job should be rescheduled
@see com.firebase.jobdispatcher.JobInvocation.Builder#setRetryStrategy(RetryStrategy)
jobdispatcher/src/main/java/com/firebase/jobdispatcher/JobService.java