Check permission for FLAG_WILL_BE_FOREGROUND.

This flag is only designed to be used by platform internals, such as
DownloadManager, so require that callers hold a nice strong
permission.

Bug: 26571724
Change-Id: Ie5ec55399e2e3a64b2837ef2c0a7a8a79bd1e49f
This commit is contained in:
Jeff Sharkey
2016-05-03 17:44:23 -06:00
parent 379d52be47
commit 4f10040f6b

View File

@@ -1339,6 +1339,11 @@ public final class JobSchedulerService extends com.android.server.SystemService
+ " not permitted to schedule jobs for other apps");
}
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.scheduleAsPackage(job, callerUid,