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

Commit 785f494e authored by Jeff Sharkey's avatar Jeff Sharkey
Browse files

Require permission for FLAG_WILL_BE_FOREGROUND.

We caught scheduleAsPackage(), but not schedule(), oops.

Bug: 28998999
Change-Id: I0642c2265ff61eead8747cc6b4d0f852f1ca3ef2
parent 0b475016
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -165,6 +165,9 @@ public class JobInfo implements Parcelable {
     * network restrictions for the requesting app. Note that this flag alone
     * doesn't actually place your {@link JobService} in the foreground; you
     * still need to post the notification yourself.
     * <p>
     * To use this flag, the caller must hold the
     * {@link android.Manifest.permission#CONNECTIVITY_INTERNAL} permission.
     *
     * @hide
     */
+5 −0
Original line number Diff line number Diff line
@@ -1556,6 +1556,11 @@ public final class JobSchedulerService extends com.android.server.SystemService
                }
            }

            if ((job.getFlags() & JobInfo.FLAG_WILL_BE_FOREGROUND) != 0) {
                getContext().enforceCallingOrSelfPermission(
                        android.Manifest.permission.CONNECTIVITY_INTERNAL, TAG);
            }

            long ident = Binder.clearCallingIdentity();
            try {
                return JobSchedulerService.this.schedule(job, uid);