Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cba18934 authored by Dianne Hackborn's avatar Dianne Hackborn Committed by android-build-merger
Browse files

Merge "Add new "work queue" feature to JobScheduler." into oc-dev

am: 0a0a63c8

Change-Id: I646a3a144833650f9ee7b9727f73ee78c7c82532
parents c2785347 0a0a63c8
Loading
Loading
Loading
Loading
+12 −0
Original line number Diff line number Diff line
@@ -6827,6 +6827,8 @@ package android.app.job {
  }
  public class JobParameters implements android.os.Parcelable {
    method public void completeWork(android.app.job.JobWorkItem);
    method public android.app.job.JobWorkItem dequeueWork();
    method public int describeContents();
    method public android.content.ClipData getClipData();
    method public int getClipGrantFlags();
@@ -6844,6 +6846,7 @@ package android.app.job {
    ctor public JobScheduler();
    method public abstract void cancel(int);
    method public abstract void cancelAll();
    method public abstract int enqueue(android.app.job.JobInfo, android.app.job.JobWorkItem);
    method public abstract java.util.List<android.app.job.JobInfo> getAllPendingJobs();
    method public abstract android.app.job.JobInfo getPendingJob(int);
    method public abstract int schedule(android.app.job.JobInfo);
@@ -6860,6 +6863,15 @@ package android.app.job {
    field public static final java.lang.String PERMISSION_BIND = "android.permission.BIND_JOB_SERVICE";
  }
  public final class JobWorkItem implements android.os.Parcelable {
    ctor public JobWorkItem(android.content.Intent);
    ctor public JobWorkItem(android.os.Parcel);
    method public int describeContents();
    method public android.content.Intent getIntent();
    method public void writeToParcel(android.os.Parcel, int);
    field public static final android.os.Parcelable.Creator<android.app.job.JobWorkItem> CREATOR;
  }
}
package android.app.usage {
+12 −0
Original line number Diff line number Diff line
@@ -7257,6 +7257,8 @@ package android.app.job {
  }
  public class JobParameters implements android.os.Parcelable {
    method public void completeWork(android.app.job.JobWorkItem);
    method public android.app.job.JobWorkItem dequeueWork();
    method public int describeContents();
    method public android.content.ClipData getClipData();
    method public int getClipGrantFlags();
@@ -7274,6 +7276,7 @@ package android.app.job {
    ctor public JobScheduler();
    method public abstract void cancel(int);
    method public abstract void cancelAll();
    method public abstract int enqueue(android.app.job.JobInfo, android.app.job.JobWorkItem);
    method public abstract java.util.List<android.app.job.JobInfo> getAllPendingJobs();
    method public abstract android.app.job.JobInfo getPendingJob(int);
    method public abstract int schedule(android.app.job.JobInfo);
@@ -7291,6 +7294,15 @@ package android.app.job {
    field public static final java.lang.String PERMISSION_BIND = "android.permission.BIND_JOB_SERVICE";
  }
  public final class JobWorkItem implements android.os.Parcelable {
    ctor public JobWorkItem(android.content.Intent);
    ctor public JobWorkItem(android.os.Parcel);
    method public int describeContents();
    method public android.content.Intent getIntent();
    method public void writeToParcel(android.os.Parcel, int);
    field public static final android.os.Parcelable.Creator<android.app.job.JobWorkItem> CREATOR;
  }
}
package android.app.usage {
+12 −0
Original line number Diff line number Diff line
@@ -6856,6 +6856,8 @@ package android.app.job {
  }
  public class JobParameters implements android.os.Parcelable {
    method public void completeWork(android.app.job.JobWorkItem);
    method public android.app.job.JobWorkItem dequeueWork();
    method public int describeContents();
    method public android.content.ClipData getClipData();
    method public int getClipGrantFlags();
@@ -6873,6 +6875,7 @@ package android.app.job {
    ctor public JobScheduler();
    method public abstract void cancel(int);
    method public abstract void cancelAll();
    method public abstract int enqueue(android.app.job.JobInfo, android.app.job.JobWorkItem);
    method public abstract java.util.List<android.app.job.JobInfo> getAllPendingJobs();
    method public abstract android.app.job.JobInfo getPendingJob(int);
    method public abstract int schedule(android.app.job.JobInfo);
@@ -6889,6 +6892,15 @@ package android.app.job {
    field public static final java.lang.String PERMISSION_BIND = "android.permission.BIND_JOB_SERVICE";
  }
  public final class JobWorkItem implements android.os.Parcelable {
    ctor public JobWorkItem(android.content.Intent);
    ctor public JobWorkItem(android.os.Parcel);
    method public int describeContents();
    method public android.content.Intent getIntent();
    method public void writeToParcel(android.os.Parcel, int);
    field public static final android.os.Parcelable.Creator<android.app.job.JobWorkItem> CREATOR;
  }
}
package android.app.usage {
+11 −0
Original line number Diff line number Diff line
@@ -20,6 +20,8 @@ package android.app;
import android.app.job.JobInfo;
import android.app.job.JobScheduler;
import android.app.job.IJobScheduler;
import android.app.job.JobWorkItem;
import android.content.Intent;
import android.os.RemoteException;

import java.util.List;
@@ -45,6 +47,15 @@ public class JobSchedulerImpl extends JobScheduler {
        }
    }

    @Override
    public int enqueue(JobInfo job, JobWorkItem work) {
        try {
            return mBinder.enqueue(job, work);
        } catch (RemoteException e) {
            return JobScheduler.RESULT_FAILURE;
        }
    }

    @Override
    public int scheduleAsPackage(JobInfo job, String packageName, int userId, String tag) {
        try {
+10 −0
Original line number Diff line number Diff line
@@ -16,6 +16,8 @@

package android.app.job;

import android.app.job.JobWorkItem;

/**
 * The server side of the JobScheduler IPC protocols.  The app-side implementation
 * invokes on this interface to indicate completion of the (asynchronous) instructions
@@ -42,6 +44,14 @@ interface IJobCallback {
     * @param reschedule Whether or not to reschedule this job.
     */
    void acknowledgeStopMessage(int jobId, boolean reschedule);
    /*
     * Called to deqeue next work item for the job.
     */
    JobWorkItem dequeueWork(int jobId);
    /*
     * Called to report that job has completed processing a work item.
     */
    boolean completeWork(int jobId, int workId);
    /*
     * Tell the job manager that the client is done with its execution, so that it can go on to
     * the next one and stop attributing wakelock time to us etc.
Loading