diff options
| author | 2016-03-01 00:27:27 +0000 | |
|---|---|---|
| committer | 2016-03-01 00:27:29 +0000 | |
| commit | d1bb54b80e15d40ea832cec14fc484422dd0291f (patch) | |
| tree | 9998c391311740eedfb7c2fd5ced69af02163e07 | |
| parent | 5345a9f6636faa8b525c0d602fdf13ec93507494 (diff) | |
| parent | 0213ace0140376b90d6824caad3f4035ee25651e (diff) | |
Merge "Reintroduce per-app scheduled job limits" into nyc-dev
| -rw-r--r-- | services/core/java/com/android/server/job/JobSchedulerService.java | 2 | ||||
| -rw-r--r-- | services/core/java/com/android/server/job/JobStore.java | 14 |
2 files changed, 14 insertions, 2 deletions
diff --git a/services/core/java/com/android/server/job/JobSchedulerService.java b/services/core/java/com/android/server/job/JobSchedulerService.java index bd888d809d78..fba7e7d76ac3 100644 --- a/services/core/java/com/android/server/job/JobSchedulerService.java +++ b/services/core/java/com/android/server/job/JobSchedulerService.java @@ -92,7 +92,7 @@ public final class JobSchedulerService extends com.android.server.SystemService /** The maximum number of concurrent jobs we run at one time. */ private static final int MAX_JOB_CONTEXTS_COUNT = 8; /** Enforce a per-app limit on scheduled jobs? */ - private static final boolean ENFORCE_MAX_JOBS = false; + private static final boolean ENFORCE_MAX_JOBS = true; /** The maximum number of jobs that we allow an unprivileged app to schedule */ private static final int MAX_JOBS_PER_APP = 100; diff --git a/services/core/java/com/android/server/job/JobStore.java b/services/core/java/com/android/server/job/JobStore.java index 4268dab01a92..9837a566eb2d 100644 --- a/services/core/java/com/android/server/job/JobStore.java +++ b/services/core/java/com/android/server/job/JobStore.java @@ -543,7 +543,7 @@ public class JobStore { return null; } - final String sourcePackageName = parser.getAttributeValue(null, "sourcePackageName"); + String sourcePackageName = parser.getAttributeValue(null, "sourcePackageName"); final String sourceTag = parser.getAttributeValue(null, "sourceTag"); @@ -660,6 +660,18 @@ public class JobStore { jobBuilder.setExtras(extras); parser.nextTag(); // Consume </extras> + // Migrate sync jobs forward from earlier, incomplete representation + if ("android".equals(sourcePackageName) + && extras != null + && extras.getBoolean("SyncManagerJob", false)) { + sourcePackageName = extras.getString("owningPackage", sourcePackageName); + if (DEBUG) { + Slog.i(TAG, "Fixing up sync job source package name from 'android' to '" + + sourcePackageName + "'"); + } + } + + // And now we're done JobStatus js = new JobStatus( jobBuilder.build(), uid, sourcePackageName, sourceUserId, sourceTag, elapsedRuntimes.first, elapsedRuntimes.second); |