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

Commit a47223f9 authored by Dianne Hackborn's avatar Dianne Hackborn
Browse files

Implement issue #36590595: Add ability to associated a ClipData with JobInfo

Yum!

Also needed to have a Context.revokeUriPermission() variant that is sane,
so reasonable CTS tests can be written.

Test: new ClipDataJobTest added.

Change-Id: Ia3135ea788a6e32c971bae7dab3a844d0ef4139c
parent 474662da
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -6740,6 +6740,8 @@ package android.app.job {
  public class JobInfo implements android.os.Parcelable {
    method public int describeContents();
    method public int getBackoffPolicy();
    method public android.content.ClipData getClipData();
    method public int getClipGrantFlags();
    method public android.os.PersistableBundle getExtras();
    method public long getFlexMillis();
    method public int getId();
@@ -6778,6 +6780,7 @@ package android.app.job {
    method public android.app.job.JobInfo.Builder addTriggerContentUri(android.app.job.JobInfo.TriggerContentUri);
    method public android.app.job.JobInfo build();
    method public android.app.job.JobInfo.Builder setBackoffCriteria(long, int);
    method public android.app.job.JobInfo.Builder setClipData(android.content.ClipData, int);
    method public android.app.job.JobInfo.Builder setExtras(android.os.PersistableBundle);
    method public android.app.job.JobInfo.Builder setMinimumLatency(long);
    method public android.app.job.JobInfo.Builder setOverrideDeadline(long);
@@ -6806,6 +6809,8 @@ package android.app.job {
  public class JobParameters implements android.os.Parcelable {
    method public int describeContents();
    method public android.content.ClipData getClipData();
    method public int getClipGrantFlags();
    method public android.os.PersistableBundle getExtras();
    method public int getJobId();
    method public android.os.Bundle getTransientExtras();
@@ -8841,6 +8846,7 @@ package android.content {
    method public abstract deprecated void removeStickyBroadcast(android.content.Intent);
    method public abstract deprecated void removeStickyBroadcastAsUser(android.content.Intent, android.os.UserHandle);
    method public abstract void revokeUriPermission(android.net.Uri, int);
    method public abstract void revokeUriPermission(java.lang.String, android.net.Uri, int);
    method public abstract void sendBroadcast(android.content.Intent);
    method public abstract void sendBroadcast(android.content.Intent, java.lang.String);
    method public abstract void sendBroadcastAsUser(android.content.Intent, android.os.UserHandle);
@@ -9033,6 +9039,7 @@ package android.content {
    method public deprecated void removeStickyBroadcast(android.content.Intent);
    method public deprecated void removeStickyBroadcastAsUser(android.content.Intent, android.os.UserHandle);
    method public void revokeUriPermission(android.net.Uri, int);
    method public void revokeUriPermission(java.lang.String, android.net.Uri, int);
    method public void sendBroadcast(android.content.Intent);
    method public void sendBroadcast(android.content.Intent, java.lang.String);
    method public void sendBroadcastAsUser(android.content.Intent, android.os.UserHandle);
@@ -40664,6 +40671,7 @@ package android.test.mock {
    method public void removeStickyBroadcast(android.content.Intent);
    method public void removeStickyBroadcastAsUser(android.content.Intent, android.os.UserHandle);
    method public void revokeUriPermission(android.net.Uri, int);
    method public void revokeUriPermission(java.lang.String, android.net.Uri, int);
    method public void sendBroadcast(android.content.Intent);
    method public void sendBroadcast(android.content.Intent, java.lang.String);
    method public void sendBroadcastAsUser(android.content.Intent, android.os.UserHandle);
+8 −0
Original line number Diff line number Diff line
@@ -7167,6 +7167,8 @@ package android.app.job {
  public class JobInfo implements android.os.Parcelable {
    method public int describeContents();
    method public int getBackoffPolicy();
    method public android.content.ClipData getClipData();
    method public int getClipGrantFlags();
    method public android.os.PersistableBundle getExtras();
    method public long getFlexMillis();
    method public int getId();
@@ -7205,6 +7207,7 @@ package android.app.job {
    method public android.app.job.JobInfo.Builder addTriggerContentUri(android.app.job.JobInfo.TriggerContentUri);
    method public android.app.job.JobInfo build();
    method public android.app.job.JobInfo.Builder setBackoffCriteria(long, int);
    method public android.app.job.JobInfo.Builder setClipData(android.content.ClipData, int);
    method public android.app.job.JobInfo.Builder setExtras(android.os.PersistableBundle);
    method public android.app.job.JobInfo.Builder setMinimumLatency(long);
    method public android.app.job.JobInfo.Builder setOverrideDeadline(long);
@@ -7233,6 +7236,8 @@ package android.app.job {
  public class JobParameters implements android.os.Parcelable {
    method public int describeContents();
    method public android.content.ClipData getClipData();
    method public int getClipGrantFlags();
    method public android.os.PersistableBundle getExtras();
    method public int getJobId();
    method public android.os.Bundle getTransientExtras();
@@ -9333,6 +9338,7 @@ package android.content {
    method public abstract deprecated void removeStickyBroadcast(android.content.Intent);
    method public abstract deprecated void removeStickyBroadcastAsUser(android.content.Intent, android.os.UserHandle);
    method public abstract void revokeUriPermission(android.net.Uri, int);
    method public abstract void revokeUriPermission(java.lang.String, android.net.Uri, int);
    method public abstract void sendBroadcast(android.content.Intent);
    method public abstract void sendBroadcast(android.content.Intent, java.lang.String);
    method public abstract void sendBroadcast(android.content.Intent, java.lang.String, android.os.Bundle);
@@ -9539,6 +9545,7 @@ package android.content {
    method public deprecated void removeStickyBroadcast(android.content.Intent);
    method public deprecated void removeStickyBroadcastAsUser(android.content.Intent, android.os.UserHandle);
    method public void revokeUriPermission(android.net.Uri, int);
    method public void revokeUriPermission(java.lang.String, android.net.Uri, int);
    method public void sendBroadcast(android.content.Intent);
    method public void sendBroadcast(android.content.Intent, java.lang.String);
    method public void sendBroadcast(android.content.Intent, java.lang.String, android.os.Bundle);
@@ -44099,6 +44106,7 @@ package android.test.mock {
    method public void removeStickyBroadcast(android.content.Intent);
    method public void removeStickyBroadcastAsUser(android.content.Intent, android.os.UserHandle);
    method public void revokeUriPermission(android.net.Uri, int);
    method public void revokeUriPermission(java.lang.String, android.net.Uri, int);
    method public void sendBroadcast(android.content.Intent);
    method public void sendBroadcast(android.content.Intent, java.lang.String);
    method public void sendBroadcast(android.content.Intent, java.lang.String, android.os.Bundle);
+8 −0
Original line number Diff line number Diff line
@@ -6769,6 +6769,8 @@ package android.app.job {
  public class JobInfo implements android.os.Parcelable {
    method public int describeContents();
    method public int getBackoffPolicy();
    method public android.content.ClipData getClipData();
    method public int getClipGrantFlags();
    method public android.os.PersistableBundle getExtras();
    method public long getFlexMillis();
    method public int getId();
@@ -6807,6 +6809,7 @@ package android.app.job {
    method public android.app.job.JobInfo.Builder addTriggerContentUri(android.app.job.JobInfo.TriggerContentUri);
    method public android.app.job.JobInfo build();
    method public android.app.job.JobInfo.Builder setBackoffCriteria(long, int);
    method public android.app.job.JobInfo.Builder setClipData(android.content.ClipData, int);
    method public android.app.job.JobInfo.Builder setExtras(android.os.PersistableBundle);
    method public android.app.job.JobInfo.Builder setMinimumLatency(long);
    method public android.app.job.JobInfo.Builder setOverrideDeadline(long);
@@ -6835,6 +6838,8 @@ package android.app.job {
  public class JobParameters implements android.os.Parcelable {
    method public int describeContents();
    method public android.content.ClipData getClipData();
    method public int getClipGrantFlags();
    method public android.os.PersistableBundle getExtras();
    method public int getJobId();
    method public android.os.Bundle getTransientExtras();
@@ -8873,6 +8878,7 @@ package android.content {
    method public abstract deprecated void removeStickyBroadcast(android.content.Intent);
    method public abstract deprecated void removeStickyBroadcastAsUser(android.content.Intent, android.os.UserHandle);
    method public abstract void revokeUriPermission(android.net.Uri, int);
    method public abstract void revokeUriPermission(java.lang.String, android.net.Uri, int);
    method public abstract void sendBroadcast(android.content.Intent);
    method public abstract void sendBroadcast(android.content.Intent, java.lang.String);
    method public abstract void sendBroadcastAsUser(android.content.Intent, android.os.UserHandle);
@@ -9066,6 +9072,7 @@ package android.content {
    method public deprecated void removeStickyBroadcast(android.content.Intent);
    method public deprecated void removeStickyBroadcastAsUser(android.content.Intent, android.os.UserHandle);
    method public void revokeUriPermission(android.net.Uri, int);
    method public void revokeUriPermission(java.lang.String, android.net.Uri, int);
    method public void sendBroadcast(android.content.Intent);
    method public void sendBroadcast(android.content.Intent, java.lang.String);
    method public void sendBroadcastAsUser(android.content.Intent, android.os.UserHandle);
@@ -40868,6 +40875,7 @@ package android.test.mock {
    method public void removeStickyBroadcast(android.content.Intent);
    method public void removeStickyBroadcastAsUser(android.content.Intent, android.os.UserHandle);
    method public void revokeUriPermission(android.net.Uri, int);
    method public void revokeUriPermission(java.lang.String, android.net.Uri, int);
    method public void sendBroadcast(android.content.Intent);
    method public void sendBroadcast(android.content.Intent, java.lang.String);
    method public void sendBroadcastAsUser(android.content.Intent, android.os.UserHandle);
+12 −1
Original line number Diff line number Diff line
@@ -1790,7 +1790,18 @@ class ContextImpl extends Context {
    public void revokeUriPermission(Uri uri, int modeFlags) {
         try {
            ActivityManager.getService().revokeUriPermission(
                    mMainThread.getApplicationThread(),
                    mMainThread.getApplicationThread(), null,
                    ContentProvider.getUriWithoutUserId(uri), modeFlags, resolveUserId(uri));
        } catch (RemoteException e) {
            throw e.rethrowFromSystemServer();
        }
    }

    @Override
    public void revokeUriPermission(String targetPackage, Uri uri, int modeFlags) {
        try {
            ActivityManager.getService().revokeUriPermission(
                    mMainThread.getApplicationThread(), targetPackage,
                    ContentProvider.getUriWithoutUserId(uri), modeFlags, resolveUserId(uri));
        } catch (RemoteException e) {
            throw e.rethrowFromSystemServer();
+2 −1
Original line number Diff line number Diff line
@@ -172,7 +172,8 @@ interface IActivityManager {
            in IBinder callerToken);
    void grantUriPermission(in IApplicationThread caller, in String targetPkg, in Uri uri,
            int mode, int userId);
    void revokeUriPermission(in IApplicationThread caller, in Uri uri, int mode, int userId);
    void revokeUriPermission(in IApplicationThread caller, in String targetPkg, in Uri uri,
            int mode, int userId);
    void setActivityController(in IActivityController watcher, boolean imAMonkey);
    void showWaitingForDebugger(in IApplicationThread who, boolean waiting);
    /*
Loading