/*package*/ Set<JobRequest> getAllJobRequests(@Nullable String tag, boolean includeStarted, boolean cleanUpTransient) { Set<JobRequest> requests = getJobStorage().getAllJobRequests(tag, includeStarted); if (cleanUpTransient) { Iterator<JobRequest> iterator = requests.iterator(); while (iterator.hasNext()) { JobRequest request = iterator.next(); if (request.isTransient() && !request.getJobApi().getProxy(mContext).isPlatformJobScheduled(request)) { getJobStorage().remove(request); iterator.remove(); } } } return requests; }
private boolean cancelInner(@Nullable JobRequest request) { if (request != null) { CAT.i("Found pending job %s, canceling", request); getJobProxy(request.getJobApi()).cancel(request.getJobId()); getJobStorage().remove(request); request.setScheduledAt(0); // reset value return true; } else { return false; } }
/** * @param jobId The unique ID of the pending {@link JobRequest}. * @return The {@link JobRequest} if it's pending or {@code null} otherwise. */ public JobRequest getJobRequest(int jobId) { JobRequest request = getJobRequest(jobId, false); if (request != null && request.isTransient() && !request.getJobApi().getProxy(mContext).isPlatformJobScheduled(request)) { getJobStorage().remove(request); return null; } else { return request; } }
reschedule = job == null; } else { reschedule = !manager.getJobProxy(request.getJobApi()).isPlatformJobScheduled(request);
timeWindow = String.format(Locale.US, "interval %s, flex %s", JobUtil.timeToString(request.getIntervalMs()), JobUtil.timeToString(request.getFlexMs())); } else if (request.getJobApi().supportsExecutionWindow()) { timeWindow = String.format(Locale.US, "start %s, end %s", JobUtil.timeToString(getStartMs(request)), JobUtil.timeToString(getEndMs(request)));
JobApi jobApi = request.getJobApi(); boolean periodic = request.isPeriodic(); boolean flexSupport = periodic && jobApi.isFlexSupport() && request.getFlexMs() < request.getIntervalMs();
/*package*/ Set<JobRequest> getAllJobRequests(@Nullable String tag, boolean includeStarted, boolean cleanUpTransient) { Set<JobRequest> requests = mJobStorage.getAllJobRequests(tag, includeStarted); if (cleanUpTransient) { Iterator<JobRequest> iterator = requests.iterator(); while (iterator.hasNext()) { JobRequest request = iterator.next(); if (request.isTransient() && !request.getJobApi().getProxy(mContext).isPlatformJobScheduled(request)) { mJobStorage.remove(request); iterator.remove(); } } } return requests; }
private boolean cancelInner(@Nullable JobRequest request) { if (request != null) { CAT.i("Found pending job %s, canceling", request); getJobProxy(request.getJobApi()).cancel(request.getJobId()); getJobStorage().remove(request); request.setScheduledAt(0); // reset value return true; } else { return false; } }
/** * @param jobId The unique ID of the pending {@link JobRequest}. * @return The {@link JobRequest} if it's pending or {@code null} otherwise. */ public JobRequest getJobRequest(int jobId) { JobRequest request = getJobRequest(jobId, false); if (request != null && request.isTransient() && !request.getJobApi().getProxy(mContext).isPlatformJobScheduled(request)) { getJobStorage().remove(request); return null; } else { return request; } }
timeWindow = String.format(Locale.US, "interval %s, flex %s", JobUtil.timeToString(request.getIntervalMs()), JobUtil.timeToString(request.getFlexMs())); } else if (request.getJobApi().supportsExecutionWindow()) { timeWindow = String.format(Locale.US, "start %s, end %s", JobUtil.timeToString(getStartMs(request)), JobUtil.timeToString(getEndMs(request)));
reschedule = job == null; } else { reschedule = !manager.getJobProxy(request.getJobApi()).isPlatformJobScheduled(request);
JobApi jobApi = request.getJobApi(); boolean periodic = request.isPeriodic(); boolean flexSupport = periodic && jobApi.isFlexSupport() && request.getFlexMs() < request.getIntervalMs();