From 4f10040f6b37f4d3c11487d452d3eb86c858a756 Mon Sep 17 00:00:00 2001 From: Jeff Sharkey Date: Tue, 3 May 2016 17:44:23 -0600 Subject: [PATCH] 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 --- .../java/com/android/server/job/JobSchedulerService.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/services/core/java/com/android/server/job/JobSchedulerService.java b/services/core/java/com/android/server/job/JobSchedulerService.java index 075a88f34ac96..542accfc990ac 100644 --- a/services/core/java/com/android/server/job/JobSchedulerService.java +++ b/services/core/java/com/android/server/job/JobSchedulerService.java @@ -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,