OSDN Git Service

Fixing to fail android.JobScheduler.TimingConstraintsTest#testSchedulePeriodic in...
authorJunichi Monma <monma@google.com>
Thu, 26 Mar 2015 13:54:21 +0000 (22:54 +0900)
committerThe Android Automerger <android-build@google.com>
Tue, 7 Apr 2015 01:51:15 +0000 (18:51 -0700)
bug id : b/19938983

Change-Id: I7568bb9c41b90a57f2e3b89d3fa694ef692f05ac

services/core/java/com/android/server/job/controllers/TimeController.java

index 4c6cb17..b3d7287 100644 (file)
@@ -91,14 +91,20 @@ public class TimeController extends StateController {
     public synchronized void maybeStartTrackingJob(JobStatus job) {
         if (job.hasTimingDelayConstraint() || job.hasDeadlineConstraint()) {
             maybeStopTrackingJob(job);
+            boolean isInsert = false;
             ListIterator<JobStatus> it = mTrackedJobs.listIterator(mTrackedJobs.size());
             while (it.hasPrevious()) {
                 JobStatus ts = it.previous();
                 if (ts.getLatestRunTimeElapsed() < job.getLatestRunTimeElapsed()) {
                     // Insert
+                    isInsert = true;
                     break;
                 }
             }
+            if(isInsert)
+            {
+                it.next();
+            }
             it.add(job);
             maybeUpdateAlarms(
                     job.hasTimingDelayConstraint() ? job.getEarliestRunTime() : Long.MAX_VALUE,