/** * Cancel either the pending {@link JobRequest} or the running {@link Job}. * * @param jobId The unique ID of the {@link JobRequest} or running {@link Job}. * @return {@code true} if a request or job were found and canceled. */ public boolean cancel(int jobId) { // call both methods boolean result = cancelInner(getJobRequest(jobId, true)) | cancelInner(getJob(jobId)); JobProxy.Common.cleanUpOrphanedJob(mContext, jobId); // do this as well, just in case return result; }
@SuppressWarnings("ResultOfMethodCallIgnored") protected void resetJob(int jobId) { Job job = manager().getJob(jobId); if (job != null) { doReturn(-1L).when(job).getFinishedTimeStamp(); } }
boolean reschedule; if (request.isStarted()) { Job job = manager.getJob(request.getJobId()); reschedule = job == null; } else {
@Test public void testScheduleAndCancel() { JobRequest request = DummyJobs.createOneOff(); int jobId = request.schedule(); assertThat(manager().getJobRequest(jobId)).isNotNull(); assertThat(manager().getJob(jobId)).isNull(); assertThat(manager().cancel(jobId)).isTrue(); assertThat(manager().getAllJobRequests()).isEmpty(); assertThat(manager().getAllJobs()).isEmpty(); request.schedule(); assertThat(manager().getAllJobRequests()).hasSize(1); assertThat(manager().cancelAll()).isEqualTo(1); assertThat(manager().getAllJobRequests()).isEmpty(); assertThat(manager().getAllJobs()).isEmpty(); }
boolean reschedule; if (request.isStarted()) { Job job = manager.getJob(request.getJobId()); reschedule = job == null; } else {
@Override public boolean onStopJob(JobParameters params) { Job job = JobManager.create(this).getJob(params.getJobId()); if (job != null) { job.cancel(); CAT.d("Called onStopJob for %s", job); } else { CAT.d("Called onStopJob, job %d not found", params.getJobId()); } // do not reschedule return false; }
/** * Cancel either the pending {@link JobRequest} or the running {@link Job}. * * @param jobId The unique ID of the {@link JobRequest} or running {@link Job}. * @return {@code true} if a request or job were found and canceled. */ public boolean cancel(int jobId) { // call both methods boolean result = cancelInner(getJobRequest(jobId, true)) | cancelInner(getJob(jobId)); JobProxy.Common.cleanUpOrphanedJob(mContext, jobId); // do this as well, just in case return result; }
@Override public void onStopped() { int jobId = getJobId(); Job job = JobManager.create(getApplicationContext()).getJob(jobId); if (job != null) { job.cancel(); CAT.d("Called onStopped for %s", job); } else { CAT.d("Called onStopped, job %d not found", jobId); } }
@Override public boolean onStopJob(JobParameters params) { Job job = JobManager.create(this).getJob(params.getJobId()); if (job != null) { job.cancel(); CAT.d("Called onStopJob for %s", job); } else { CAT.d("Called onStopJob, job %d not found", params.getJobId()); } // do not reschedule return false; }