/frameworks/base/services/core/java/com/android/server/job/ |
H A D | JobCompletedListener.java | 17 package com.android.server.job; 19 import com.android.server.job.controllers.JobStatus; 22 * Used for communication between {@link com.android.server.job.JobServiceContext} and the 23 * {@link com.android.server.job.JobSchedulerService}. 27 * Callback for when a job is completed. 28 * @param needsReschedule Whether the implementing class should reschedule this job.
|
H A D | StateChangedListener.java | 17 package com.android.server.job; 19 import com.android.server.job.controllers.JobStatus; 22 * Interface through which a {@link com.android.server.job.controllers.StateController} informs 23 * the {@link com.android.server.job.JobSchedulerService} that there are some tasks potentially
|
H A D | GrantedUriPermissions.java | 17 package com.android.server.job; 45 mPermissionOwner = am.newUriPermissionOwner("job: " + tag);
|
H A D | JobSchedulerInternal.java | 17 package com.android.server.job; 20 import android.app.job.JobInfo; 44 * the app last ran jobs, so that a newly-scheduled job in an app that hasn't run 51 * Tell the scheduler when a JobServiceContext starts running a job in an app
|
H A D | JobSchedulerShellCommand.java | 17 package com.android.server.job; 65 case "get-job-state": 107 pw.print("Could not find job "); 167 pw.print("Running job"); 385 pw.println(" Trigger immediate execution of a specific scheduled job."); 387 pw.println(" -f or --force: run the job even if technical constraints such as"); 389 pw.println(" -u or --user: specify which user's job is to be run; the default is"); 395 pw.println(" -u or --user: specify which user's job is to be run; the default is"); 398 pw.println(" Cancel a scheduled job. If a job I [all...] |
/frameworks/base/core/java/android/app/job/ |
H A D | JobScheduler.java | 17 package android.app.job; 38 * See {@link android.app.job.JobInfo} for more description of the types of jobs that can be run 41 * system will execute this job on your application's {@link android.app.job.JobService}. 42 * You identify the service component that implements the logic for your job when you 44 * {@link android.app.job.JobInfo.Builder#JobInfo.Builder(int,android.content.ComponentName)}. 48 * and defer them as much as possible. Typically if you don't specify a deadline on a job, it 51 * While a job is running, the system holds a wakelock on behalf of your app. For this reason, 53 * duration of the job. 72 * if the run-time for your job i 91 schedule(@onNull JobInfo job) argument 128 enqueue(@onNull JobInfo job, @NonNull JobWorkItem work) argument 141 scheduleAsPackage(@onNull JobInfo job, @NonNull String packageName, int userId, String tag) argument [all...] |
H A D | JobService.java | 17 package android.app.job; 24 * <p>Entry point for the callback from the {@link android.app.job.JobScheduler}.</p> 27 * you will implement your job logic.</p> 28 * <p>This service executes each incoming job on a {@link android.os.Handler} running on your 32 * {@link #onStopJob(android.app.job.JobParameters)}, which is meant to inform you that the 48 * <p>If a job service is declared in the manifest but not protected with this 75 * Call this to inform the JobScheduler that the job has finished its work. When the 76 * system receives this message, it releases the wakelock being held for the job. 78 * You can request that the job be scheduled again by passing {@code true} as 80 * for the job; thi [all...] |
H A D | JobServiceEngine.java | 17 package android.app.job; 46 * {@link #onStartJob(android.app.job.JobParameters)}. 50 * Message that will result in a call to {@link #onStopJob(android.app.job.JobParameters)}. 54 * Message that the client has completed execution of this job. 111 Log.e(TAG, "Error while executing job: " + params.getJobId()); 131 Log.e(TAG, "Error reporting job finish to system: binder has gone" + 135 Log.e(TAG, "finishJob() called for a nonexistent job id."); 151 Log.e(TAG, "System unreachable for starting job."); 155 Log.d(TAG, "Attempting to ack a job that has already been processed."); 167 Log.e(TAG, "System unreachable for stopping job [all...] |
H A D | JobWorkItem.java | 17 package android.app.job; 19 import static android.app.job.JobInfo.NETWORK_BYTES_UNKNOWN; 27 * A unit of work that can be enqueued for a job using 69 * downloaded by this job work item, in bytes. 71 * uploaded by this job work item, in bytes. 107 * this job, in bytes. 118 * this job work item, in bytes. 129 * to the job. The value will be > 1 if it has been redelivered because the job 131 * job ha [all...] |
/frameworks/base/services/tests/servicestests/src/com/android/server/job/controllers/ |
H A D | ConnectivityControllerTest.java | 17 package com.android.server.job.controllers; 35 import android.app.job.JobInfo; 51 import com.android.server.job.JobSchedulerService; 52 import com.android.server.job.JobSchedulerService.Constants; 114 final JobInfo.Builder job = createJob() 119 assertFalse(ConnectivityController.isSatisfied(createJobStatus(job), net, 123 assertTrue(ConnectivityController.isSatisfied(createJobStatus(job), net, 131 final JobInfo.Builder job = createJob() 134 final JobStatus early = createJobStatus(job, now - 1000, now + 2000); 135 final JobStatus late = createJobStatus(job, no 294 createJobStatus(JobInfo.Builder job) argument 298 createJobStatus(JobInfo.Builder job, int uid) argument 302 createJobStatus(JobInfo.Builder job, long earliestRunTimeElapsedMillis, long latestRunTimeElapsedMillis) argument 308 createJobStatus(JobInfo.Builder job, int uid, long earliestRunTimeElapsedMillis, long latestRunTimeElapsedMillis) argument [all...] |
H A D | JobStatusTest.java | 17 package com.android.server.job.controllers; 21 import android.app.job.JobInfo; 26 import com.android.server.job.JobSchedulerService; 71 final JobInfo job = new JobInfo.Builder(101, new ComponentName("foo", "bar")) 73 return new JobStatus(job, 0, null, -1, 0, 0, null, earliestRunTimeElapsedMillis,
|
/frameworks/base/services/tests/servicestests/src/com/android/server/job/ |
H A D | PrioritySchedulingTest.java | 17 package com.android.server.job; 20 import android.app.job.JobInfo; 21 import android.app.job.JobScheduler; 25 import com.android.server.job.MockPriorityJobService.TestEnvironment; 26 import com.android.server.job.MockPriorityJobService.TestEnvironment.Event; 75 Thread.sleep(10000); // Wait for job 4 to preempt one of the lower priority jobs 87 assertTrue("No job was preempted.", wasSomeJobPreempted); 113 Thread.sleep(10000); // Wait for job 4 to preempt one of the higher priority jobs 117 assertFalse("Higher priority job was preempted.", wasJob4Executed);
|
H A D | JobSetTest.java | 17 package com.android.server.job; 26 import android.app.job.JobInfo; 40 import com.android.server.job.controllers.JobStatus; 134 final JobStatus job = jobs.valueAt(j); 135 str.append("(s=" + job.getSourceUid() + ", c=" + job.getUid() + "), ");
|
H A D | MockPriorityJobService.java | 17 package com.android.server.job; 20 import android.app.job.JobParameters; 21 import android.app.job.JobService; 38 Log.i(TAG, "Test job executing: " + params.getJobId()); 46 Log.i(TAG, "Test job stop executing: " + params.getJobId());
|
/frameworks/base/core/java/android/app/ |
H A D | JobSchedulerImpl.java | 20 import android.app.job.JobInfo; 21 import android.app.job.JobScheduler; 22 import android.app.job.IJobScheduler; 23 import android.app.job.JobWorkItem; 42 public int schedule(JobInfo job) { argument 44 return mBinder.schedule(job); 51 public int enqueue(JobInfo job, JobWorkItem work) { argument 53 return mBinder.enqueue(job, work); 60 public int scheduleAsPackage(JobInfo job, String packageName, int userId, String tag) { argument 62 return mBinder.scheduleAsPackage(job, packageNam [all...] |
/frameworks/base/services/core/java/com/android/server/job/controllers/ |
H A D | StateController.java | 17 package com.android.server.job.controllers; 23 import com.android.server.job.JobSchedulerService; 24 import com.android.server.job.JobSchedulerService.Constants; 25 import com.android.server.job.StateChangedListener; 50 * Implement the logic here to decide whether a job should be tracked by this controller. 57 * Optionally implement logic here to prepare the job to be executed. 67 * Called when a new job is being created to reschedule an old failed job.
|
H A D | DeviceIdleJobsController.java | 17 package com.android.server.job.controllers; 19 import android.app.job.JobInfo; 39 import com.android.server.job.JobSchedulerService; 40 import com.android.server.job.StateControllerProto; 41 import com.android.server.job.StateControllerProto.DeviceIdleJobsController.TrackedJob; 165 // Inform the job scheduler service about idle mode changes 191 * Checks if the given job's scheduling app id exists in the device idle user whitelist. 193 boolean isWhitelistedLocked(JobStatus job) { argument 195 UserHandle.getAppId(job.getSourceUid())) >= 0; 199 * Checks if the given job' 201 isTempWhitelistedLocked(JobStatus job) argument [all...] |
H A D | TimeController.java | 17 package com.android.server.job.controllers; 19 import static com.android.server.job.JobSchedulerService.sElapsedRealtimeClock; 34 import com.android.server.job.JobSchedulerService; 35 import com.android.server.job.StateControllerProto; 44 * This class sets an alarm for the next expiring job, and determines whether a job's minimum 53 private final String DEADLINE_TAG = "*job.deadline*"; 55 private final String DELAY_TAG = "*job.delay*"; 75 * Check if the job has a timing constraint, and if so determine where to insert it in our 79 public void maybeStartTrackingJobLocked(JobStatus job, JobStatu argument 126 maybeStopTrackingJobLocked(JobStatus job, JobStatus incomingJob, boolean forUpdate) argument 142 canStopTrackingJobLocked(JobStatus job) argument 188 evaluateDeadlineConstraint(JobStatus job, long nowElapsedMillis) argument 256 evaluateTimingDelayConstraint(JobStatus job, long nowElapsedMillis) argument [all...] |
H A D | BackgroundJobsController.java | 17 package com.android.server.job.controllers; 30 import com.android.server.job.JobSchedulerService; 31 import com.android.server.job.JobStore; 32 import com.android.server.job.StateControllerProto; 33 import com.android.server.job.StateControllerProto.BackgroundJobsController.TrackedJob;
|
H A D | BatteryController.java | 17 package com.android.server.job.controllers; 19 import static com.android.server.job.JobSchedulerService.sElapsedRealtimeClock; 36 import com.android.server.job.JobSchedulerService; 37 import com.android.server.job.StateControllerProto; 104 // Otherwise, just let the job scheduler know the state has changed and take care of it
|
H A D | ConnectivityController.java | 17 package com.android.server.job.controllers; 23 import android.app.job.JobInfo; 44 import com.android.server.job.JobSchedulerService; 45 import com.android.server.job.JobSchedulerService.Constants; 46 import com.android.server.job.JobServiceContext; 47 import com.android.server.job.StateControllerProto; 105 * Test to see if running the given job on the given network is insane. 107 * For example, if a job is trying to send 10MB over a 128Kbps EDGE 109 * before the job times out, so we'd be insane to try running it. 116 // We don't know how large the job i [all...] |
H A D | IdleController.java | 17 package com.android.server.job.controllers; 19 import static com.android.server.job.JobSchedulerService.sElapsedRealtimeClock; 34 import com.android.server.job.JobSchedulerService; 35 import com.android.server.job.StateControllerProto;
|
H A D | StorageController.java | 17 package com.android.server.job.controllers; 19 import static com.android.server.job.JobSchedulerService.sElapsedRealtimeClock; 33 import com.android.server.job.JobSchedulerService; 34 import com.android.server.job.StateControllerProto;
|
/frameworks/base/tests/JobSchedulerTestApp/src/com/android/demo/jobSchedulerApp/service/ |
H A D | TestJobService.java | 19 import android.app.job.JobInfo; 20 import android.app.job.JobScheduler; 21 import android.app.job.JobParameters; 22 import android.app.job.JobService; 84 Log.i(TAG, "on start job: " + params.getJobId() 94 this, "On start job: '" + params.getJobId() + "' deadline exceeded: " + 104 Log.i(TAG, "on stop job: " + params.getJobId()); 120 /** Send job to the JobScheduler. */ 121 public void scheduleJob(JobInfo job) { argument 122 Log.d(TAG, "Scheduling job " [all...] |
/frameworks/ex/camera2/portability/src/com/android/ex/camera2/portability/ |
H A D | DispatchThread.java | 46 * Queues up the job. 48 * @param job The job to run. 50 public void runJob(Runnable job) { argument 53 "Trying to run job on interrupted dispatcher thread"); 57 throw new RuntimeException("Camera master thread job queue full"); 60 mJobQueue.add(job); 66 * Queues up the job and wait for it to be done. 68 * @param job The job t 73 runJobSync(final Runnable job, Object waitLock, long timeoutMs, String jobMsg) argument [all...] |